ФИЛЬТРОВАННАЯ РЕПЛИКАЦИЯ ХРАНИЛИЩ ДАННЫХ

1. Способ реплицирования, по меньшей мере, одного изменения хранимых данных между репликами в общности синхронизации, в которой каждая реплика может производить изменения независимо от других реплик в общности синхронизации, содержащий этапы, на которых:
принимают, во второй реплике, значение знания первой реплики, которое представляет знание изменений в отношении хранимых данных, о которых осведомлена первая реплика, и фильтр, который идентифицирует конкретный набор данных в хранимых данных;
сравнивают значение знания первой реплики с версиями, ассоциативно связанными с изменениями хранимых данных во второй реплике, чтобы идентифицировать, по меньшей мере, одно изменение, известное второй реплике, о которой не осведомлена первая реплика, при этом, по меньшей мере, одно изменение ассоциативно связано с конкретным набором данных, идентифицированным фильтром; и
отправляют, по меньшей мере, одно изменение в первую реплику.
2. Способ по п.1, дополнительно содержащий этапы, на которых:
отправляют значение знания второй реплики, которое представляет знание изменений хранимых данных, о которых осведомлена вторая реплика, в первую реплику.
3. Способ по п.1, дополнительно содержащий этапы, на которых:
идентифицируют, по меньшей мере, одно нефильтрованное изменение хранимых данных, которое не представлено значением знания первой реплики и также не связано ассоциативно с конкретным набором данных, идентифицированным фильтром согласно второй реплике; и
отправляют информацию, которая идентифицирует, по меньшей мере, одно нефильтрованное изменение, в первую реплику.
4. Способ по п.1, в котором:
фильтр является сократимым фильтром; и
конкретный набор данных, идентифицированный фильтром, содержит данные, идентифицированные критериями фильтра, применяемыми во время этапа сравнения, и данные, идентифицированные критериями фильтра, применяемыми касательно времени, представленного значением знания первой реплики.
5. Способ по п.1, дополнительно содержащий:
список, ассоциативно связанный с фильтром, который содержит один или более идентификаторов хранимых данных, каждый из которых идентифицирует отдельную порцию данных и имеет, по меньшей мере, одну версию, ассоциативно связанную со входом порции данных в фильтр.
6. Способ по п.5, в котором, по меньшей мере, один из одного или более идентификаторов хранимых данных также имеет, по меньшей мере, одну версию, ассоциативно связанную с выходом порции данных из фильтра.
7. Способ по п.5, в котором список обслуживается посредством того, что:
оценивают критерии фильтра;
добавляют версию, ассоциативно связанную со входом порции данных в фильтр, когда критерии фильтра идентифицируют хранимые данные, которые находятся в фильтре; и
добавляют версию, ассоциативно связанную с выходом порции данных из фильтра, когда критерии фильтра идентифицируют хранимые данные, которые не находятся в фильтре.
8. Способ по п.7, в котором список обслуживается немедленно после или во время операции синхронизации.
9. Способ по п.7, в котором список обслуживается в момент времени, обособленный от операции синхронизации.
10. Способ для осуществления репликации, по меньшей мере, одного изменения хранимых данных между репликами в общности синхронизации, в которой каждая реплика может производить изменения независимо от других реплик в общности синхронизации, содержащий этапы, на которых:
отправляют во вторую реплику значение знания первой реплики, которое представляет знание изменений в отношении хранимых данных, о которых осведомлена первая реплика, и фильтр, который идентифицирует конкретный набор данных в хранимых данных;
принимают по меньшей мере одно изменение хранимых данных, которое существует во второй реплике, о котором не осведомлена первая реплика, при этом, по меньшей мере, одно изменение ассоциативно связано с конкретным набором данных, идентифицированным фильтром;
внедряют, по меньшей мере, одно принятое изменение в хранимые данные, обслуживаемые первой репликой.
11. Способ по п.10, дополнительно содержащий этапы, на которых:
принимают значение знания второй реплики, которое представляет знание изменений хранимых данных, о которых осведомлена вторая реплика; и
обновляют значение знания первой реплики, с тем чтобы оно представляло знание изменений хранимых данных, о которых осведомлена вторая реплика, только для конкретного набора данных, идентифицированного фильтром.
12. Способ по п.10, дополнительно содержащий этапы, на которых:
принимают информацию, которая идентифицирует, по меньшей мере, одно нефильтрованное изменение хранимых данных, которое не представлено значением знания первой реплики и также не связано с конкретным набором данных, идентифицированным фильтром согласно второй реплике;
обновляют хранимые данные, поддерживаемые первой репликой, с использованием информации, которая идентифицирует, по меньшей мере, одно нефильтрованное изменение.
13. Способ по п.12, в котором обновление хранимых данных, обслуживаемых первой репликой дополнительно состоит в том, что создают, по меньшей мере, одно исключение в значении знания первой реплики согласно информации, которая указывает по меньшей мере одно нефильтрованное изменение, причем, по меньшей мере, одно исключение указывает ссылкой знание изменений хранимых данных, о которых была осведомлена первая реплика до приема по меньшей мере одного изменения.
14. Способ по п.12, в котором обновление хранимых данных, обслуживаемых первой репликой, дополнительно состоит в том, что удаляют, по меньшей мере, одну часть хранимых данных, соответствующих информации, которая идентифицирует, по меньшей мере, одно нефильтрованное изменение.
15. Способ по п.10, в котором внедрение, по меньшей мере, одного принятого изменения дополнительно состоит в том, что:
принимают созданное со знанием значение из второй реплики, которое представляет знание изменений хранимых данных, о которых вторая реплика была осведомлена, когда, по меньшей мере, одно принятое изменение производилось во второй реплике;
определяют, что существует противоречие, когда для одиночной порции хранимых данных:
первое изменение было сделано в первой реплике; и
второе изменение было сделано во второй реплике; и
идентификатор первого изменения, ассоциативно связанный с первым изменением, не находится в созданном со знанием значении; и
и идентификатор второго изменения, ассоциативно связанный со вторым изменением, не находится в значении знания первой реплики.
16. Система для управления и реплицирования изменений хранимых данных между репликами в общности синхронизации, в которой каждая реплика может производить изменения независимо от других реплик в общности синхронизации, содержащая:
модуль хранения данных элементов, сконфигурированный для управления хранимыми данными;
модуль хранения знаний, сконфигурированный для управления знаниями об изменениях хранимых данных;
модуль хранения фильтров, сконфигурированный для поддержки одного или более фильтров, каждый из которых идентифицирует конкретный набор данных в хранимых данных;
модуль перечисления изменений, сконфигурированный для:
приема значения знания первой реплики, которое представляет знание изменений хранимых данных, о которых осведомлена первая реплика, и первого фильтра, который идентифицирует первый конкретный набор данных в хранимых данных;
сравнения значения знания первой реплики с версиями, ассоциативно связанными с изменениями, предоставленными модулем хранения данных элементов для идентификации, по меньшей мере, одного перечисленного изменения, известного системе, о котором не осведомлена первая реплика, при этом, по меньшей мере, одно перечисленное изменение ассоциативно связано с первым конкретным набором данных, идентифицированным первым фильтром; и
отправки, по меньшей мере, одного перечисленного изменения в первую реплику; и
модуль внедрения изменений, сконфигурированный для:
отправки, во вторую реплику, значения знания системы, предоставленного хранилищем знаний, которое представляет знание изменений хранимых данных, о которых осведомлена система, и второго фильтра, предоставленного хранилищем фильтров, который идентифицирует второй конкретный набор данных в хранимых данных;
приема, по меньшей мере, одного принятого изменения, которое существует во второй реплике, о котором не осведомлена система, при этом, по меньшей мере, одно принятое изменение ассоциативно связано со вторым конкретным набором данных, идентифицированным вторым фильтром; и
внедрения, по меньшей мере, одного принятого изменения в хранимые данные, ассоциативно связанные с модулем хранения данных элементов.
17. Система по п.16, в которой модуль перечисления изменений дополнительно сконфигурирован для отправки во вторую реплику значения знания системы, предоставленного хранилищем знаний, которое представляет знание изменений хранимых данных, о которых осведомлена система.
18. Система по п.16, в которой модуль внедрения изменений дополнительно сконфигурирован для:
приема значения знания второй реплики, которое представляет знание изменений хранимых данных, о которых осведомлена вторая реплика; и
обновления значения знания системы, с тем чтобы оно представляло знание изменений хранимых данных, о которых осведомлена вторая реплика, только для второго конкретного набора данных, идентифицированного вторым фильтром.
19. Система по п.16, в которой модуль внедрения изменений дополнительно сконфигурирован для:
приема созданного со знанием значения из второй реплики, которое представляет знание изменений хранимых данных, о которых вторая реплика была осведомлена, когда, по меньшей мере, одно принятое изменение производилось во второй реплике;
определения, что существует противоречие, когда для одиночной порции хранимых данных:
первое изменение было сделано в системе; и
второе изменение было сделано во второй реплике; и
идентификатор первого изменения, ассоциативно связанный с первым изменением, не находится в созданном со знанием значении; и
и идентификатор второго изменения, ассоциативно связанный со вторым изменением, не находится в значении знания системы.
20. Система по п. 16, в которой:
первый фильтр является сократимым фильтром; и
первый конкретный набор данных, идентифицированный первым фильтром, содержит данные, идентифицированные критериями первого фильтра, применяемыми во время этапа сравнения, и данные, идентифицированные критериями фильтра, применимыми касательно времени, представленного значением знания первой реплики.