EA002931B1 - Система и способ синхронизации и организации баз данных - Google Patents

Система и способ синхронизации и организации баз данных Download PDF

Info

Publication number
EA002931B1
EA002931B1 EA200100363A EA200100363A EA002931B1 EA 002931 B1 EA002931 B1 EA 002931B1 EA 200100363 A EA200100363 A EA 200100363A EA 200100363 A EA200100363 A EA 200100363A EA 002931 B1 EA002931 B1 EA 002931B1
Authority
EA
Eurasian Patent Office
Prior art keywords
client computer
data
computer system
modification
client
Prior art date
Application number
EA200100363A
Other languages
English (en)
Other versions
EA200100363A1 (ru
Inventor
Самир С. Мэхейджен
Санджой Мэлик
Майкл Дж. Донаху
Шамкант Б. Нават
Мостафа Х. Аммар
Фрэнк Х. МакДжоу
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 EA200100363A1 publication Critical patent/EA200100363A1/ru
Publication of EA002931B1 publication Critical patent/EA002931B1/ru

Links

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
    • G06F16/275Synchronous replication
    • 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
    • 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/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • 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/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)

Abstract

Данное изобретение обеспечивает "ориентированный на данные" подход к обновлению компьютерных систем (516) системы базы (15d) данных с нерегулярным соединением. При этом подходе сложность хранения и обработки серверной базы данных не зависит от количества поддерживаемых клиентов, что улучшает расширяемость сервера. Вместо ориентирования на данные, запрашиваемые отдельными клиентами, в способе отслеживают изменения в подмножествах данных, относящихся к группам клиентов. Таким образом, серверу необходимо лишь отслеживать и записывать изменения в этих подмножествах данных, вместо отслеживания изменений для отдельных клиентов. Клиенты загружают подмножества, которые содержат данные, относящиеся к группе, и объединяют данные или стирают ненужные данные из подмножеств. Поскольку сервер отслеживает ограниченный набор подмножеств данных, относящихся к группам клиентов, вместо действительного количества клиентов, то повышается общая расширяемость системы. В этой системе (10) клиентские компьютерные системы синхронизованы с серверной базой данных за счет разделения данных, подлежащих распределению из серверной базы данных, на группы (80ad) и назначения одной или более групп для каждой клиентской компьютерной системы. Когда клиентская компьютерная система получает доступ в сервер, то клиентская компьютерная система передает изменения, выполненные в местной базе данных, в сервер. Сервер обновляет свою базу данных с помощью этих изменений. После выполнения обновления своей базы данных сервер определяет, какие группы участвуют в выполненных изменениях, и создает файлы (86ad) модификации для этих групп. Клиенты загружают из сервера файлы

Description

Данное изобретение относится к способу и системе для обновления баз данных и в частности к способу и системе для синхронизации удаленных баз данных.
Уровень техники
Во многих корпоративных сетях используют серверную базу данных (центр) для хранения данных, которые относятся к многим сотрудникам или удаленным пользователям предприятия. Серверная база данных типично доступна для удаленных компьютерных систем (клиентов) для увеличения доступности информации для удаленных пользователей. За счет создания серверной базы данных, к которой могут иметь доступ удаленные компьютерные системы, можно увеличить распределенность информации в компании. Дистанционный доступ в серверную базу данных более затруднен в сетях, где продавцы или многие сотрудники действуют вне офиса. Например, удаленные сотрудники зависят от информации, содержащейся внутри базы данных, для получения информации об изменениях в запасах материалов, ценах и событиях в компании. Вместо того, чтобы оставаться постоянно подключенными к серверной базе данных, что приводит к увеличению телекоммуникационных затрат или к занятости телефонных линий, удаленные пользователи нерегулярно соединяют свои компьютеры с сервером для получения доступа к серверной базе данных. В таких сетях удаленные компьютерные системы обычно хранят часть серверной базы данных на месте для поддержки удаленных запросов, даже когда клиент не соединен с сервером. В этом случае нерегулярное соединение используют для передачи только изменений, вызванных обращением клиента к серверу, и соответствующего набора изменений от сервера к клиенту. Этот тип сети системы удаленных компьютеров называют сетью базы данных с нерегулярным соединением (1СЭВ). Базы данных с нерегулярным соединением имеют широкое применение в автоматизации торговых операций, обработке страховых претензий и, в целом, для управления мобильной рабочей силой.
Важным вопросом связи в компьютерной сети такого типа является своевременный и эффективный обмен информацией между клиентами и серверной базой данных. Часто используют понятие синхронизация баз данных для описания процессов сохранения согласованности и целостности данных между серверной базой данных и базами данных клиентов. Имеется много схем синхронизации для сохранения согласованности. В некоторых известных схемах синхронизации баз данных временную метку связывают с обмениваемыми данными и указывают дату передачи последнего обновления. Серверная база данных и база данных клиента используют временную метку для определения, какие записи были модифицированы. Другие схемы используют битовую карту для пометки записей, которые были изменены. В других схемах используют предыдущие значения для отслеживания изменений. Обычно передают только те записи, которые были модифицированы после последнего обмена данными.
В сетях базы данных с нерегулярным соединением постоянный доступ к прикладной программе требует, чтобы каждый клиент сохранял местную копию совместно используемых данных. Дополнительно к этому при нерегулярном соединении невозможен прямой обмен информацией между клиентами; следовательно, требуется некий посредник для обеспечения связи между клиентами и обмена информацией. Обычно сервер базы данных, схема и данные которого состоят из объединения схем и данных клиентов, выполняет роль этого посредника. Этот сервер постоянно доступен для связи с нерегулярно соединяемыми клиентами. Обновления данных передаются от клиента на сервер. Сервер определяет совокупность клиентов, которые совместно пользуются данными, и ему необходимо получать копию обновлений. Таким образом, при этом ориентированном на клиентов подходе сервер должен создавать отдельный комплект данных для каждого клиента. К сожалению, этот подход приводит к усложнению с каждым дополнительным клиентом и ограничен в расширяемости относительно максимального числа клиентов, которые могут поддерживаться сервером, поскольку для каждого дополнительного клиента сервер должен повторять тот же тип обработки, что и для других клиентов.
Существуют многие другие технологии для обеспечения надежной синхронизации. Технология обеспечения надежности данных, синхронизованных для удаленных баз данных, описана в патенте США № 5 649 195, выданном 8сой и др. (в последующем патент 195). В этой системе каждый удаленный компьютер содержит тиражируемую копию главной базы данных. Центральный компьютер согласно патенту 195 хранит изменения записей, выполненных в главной базе данных, в течение заданной единицы времени в файле. Каждая запись об изменении для одной и той же единицы времени связывается с одним номером передачи и порядковым номером. Порядковый номер идентифицирует последовательный порядок записей изменений в файле. Последняя запись изменений в последовательном порядке идентифицируется как последняя запись для частного номера передачи. Для следующей единицы времени номер передачи увеличивается на 1 и порядковый номер возвращается в исходное положение. По истечении заданной единицы времени файл записей изменений передается в удаленные тиражируемые копии базы данных. Удаленные компьютеры используют номера передач и поряд ковые номера для проверки порядка записей изменений для определения, все ли записи изменений для передачи были приняты и правильно использованы для обновления удаленной копии базы данных.
Другая система для обновления информации в базе данных раскрыта в патенте США № 5 491 820, выданном Ве1оуе и др. (в последующем патент 820). Патент 820 относится к системе клиент/сервер, которая использует объектно ориентированную базу данных в сервере для обеспечения данными нерегулярно соединяемых клиентов. В этой системе объекты данных сохраняются в базе данных. Эти объекты данных могут передаваться клиенту, соединенному с сервером, и затем обновляются после повторного создания связи с сервером. После получения объекта данных клиент связывает время приема с объектом данных. При запросе об обновлении объекта клиент передает перечень объектов данных, подлежащих обновлению, вместе со временем приема каждого объекта. Сервер сохраняет последнее время модификации для каждого объекта данных и сравнивает время приема объекта данных в перечне объектов данных, полученных от клиента, с последним временем его модификации. Сервер создает новые версии этих объектов данных, которые были модифицированы с последнего времени приема.
В типичной системе синхронизации отдельный файл, содержащий изменения, подлежащие передаче, создается на сервере для каждого клиента в системе. Это загружает сервер, увеличивая количество обработки, выполняемой в сервере для создания этих файлов, которая прямо пропорциональна числу клиентов в системе. Необходима система синхронизации баз данных, которая позволяет расширять базу данных для использования с возрастающим числом клиентов без отрицательного влияния на производительность сервера.
Сущность изобретения
В целом, данное изобретение обеспечивает создание способа, который отвечает почти всем необходимым требованиям для хранения и обработки в системе базы данных с нерегулярным соединением. Сокращение обработки улучшает способность сервера обрабатывать большое количество компьютеров клиентов. В частности, данное изобретение обеспечивает создание способа синхронизации системы клиентских компьютеров с серверной базой данных посредством разделения данных, подлежащих распределению с серверной базы данных, на группы и определяет одну или более групп для каждой клиентской компьютерной системы. Изменения данных в группах хранят для передачи клиентам, подписанным на эти группы.
Когда клиентская компьютерная система соединяется с сервером, то она передает изменения, произведенные в своей местной базе данных, на сервер. Тогда сервер может обновить свою базу данных с использованием изменений, переданных клиентом. После выполнения обновлений в своей базе данных сервер определяет, к каким группам относятся выполненные изменения, и создает файлы модификации для этих групп. Затем клиенты могут загружать файлы модификации для каждой из групп, на которые подписан клиент. Поскольку файлы модификации могут содержать избыточные данные, то они оцениваются у клиента для определения, следует ли определенные данные применять и объединять или отбросить.
Каждый клиент имеет перечень групп, на которые он подписан. Когда клиент соединяется с сервером, то клиент запрашивает файлы модификации, относящиеся к группам, на которые он подписан, объединяет загруженные файлы модификации, отфильтровывает лишние данные и обновляет свою местную базу данных.
Таким образом, задачей данного изобретения является создание способа синхронизации базы данных и системы, которая повышает способность системы серверной базы данных обрабатывать множество клиентских компьютерных систем.
Задачей данного изобретения является достижение этого посредством группирования данных для улучшения расширяемости системы базы данных.
Краткое описание чертежей
Эти и другие задачи следуют для специалистов в данной области техники из последующего описания со ссылками на чертежи, где фиг. 1 изображает схему базы данных с нерегулярным соединением;
фиг. 2 - подробную блок-схему компонентов клиента и компонентов сервера, используемых во время обновления клиента сервером;
фиг. 3а, 3Ь, 3с - примеры группирования данных в базе данных сервера и взаимосвязи клиентов с этими группами согласно данному изобретению;
фиг. 4 - схему формата файла модификации согласно данному изобретению;
фиг. 5а, 5Ь, 5с - графическую схему программы процесса, применяемого согласно принципам данного изобретения.
Подробное описание изобретения
На фигурах одинаковые элементы обозначены одинаковыми позициями, при этом на фиг. 1 показаны базовые компоненты системы 10 базы данных с нерегулярным соединением, используемые в предпочтительном варианте выполнения изобретения. Система 10 базы данных с нерегулярным соединением включает клиентские компьютерные системы 16а, 16Ь и 16с. Каждый клиент имеет прикладные программы и местную базу 15а, 15Ь и 15с данных. Компьютерный сервер 18 содержит прикладные программы и серверную базу 156 данных, которые доступны клиентским компьютерным системам 16 через нерегулярные соединения 27. Сервер 18 выполняет административное программное обеспечение для компьютерной сети и управляет доступом к части или ко всей сети и ее устройствам. Клиентские компьютерные системы 16 совместно используют данные серверной базы данных, хранящейся в компьютерном сервере 18, и могут входить в сервер 18 через Интернет, местную вычислительную сеть (ΕΆΝ), территориально распределенную сеть (^ΆΝ) 26 или через телефонную линию с использованием модема. Сервер 28 может быть соединен с местной вычислительной сетью внутри одной организации.
Структура и режим работы системы 10 базы данных с нерегулярным соединением позволяют серверу 18 и серверной базе 15й данных, связанной с ним, более эффективно обслуживать клиентов, чем известные до этого системы. В частности, данное изобретение обеспечивает способ организации данных серверной базы данных в отдельные группы и отслеживание изменений данных в соответствии с группами, вместо отдельных клиентов. Периодически создается файл модификации (дельта или обновление) для каждой группы, содержащий все относящиеся к группе изменения со времени создания последнего файла модификации. Клиентские компьютерные системы 16 связаны с выбранными группами, и когда клиенты соединяются с сервером 18, то файлы модификации, связанные с группой, передаются клиенту или клиентам, связанным с группой, для использования для обновления индивидуальной базы данных каждого клиента.
Клиентские компьютерные системы 16а, 16Ь, 16с могут быть расположены в удаленных местах. Таким образом, когда пользователь одной из клиентских компьютерных систем 16 желает выполнить обновление с учетом текущей информации в совместно используемой базе данных в сервере 18, то компьютерная система 16 соединяется через территориально распределенную сеть или по телефонной линии с сервером 18 для получения доступа. Преимущественно, данное изобретение обеспечивает создание системы и способа обновления клиентских компьютерных систем, которые позволяют добавлять клиентские компьютерные системы в систему базы данных с нерегулярным соединением без необходимости создания системой базы данных с нерегулярным соединением специфичных файлов модификации для каждого клиента, добавляемого в компьютерную систему. В этой системе данные в сервере могут быть расположены в группах, основанных на содержании или семантике. Одна или более групп назначаются каждому клиенту в зависимости от потребности клиента в данных. Периодически сервер определяет данные, которые были изменены в каждой группе со времени последней оценки, и записывает эти изменения в файл модификации. Когда клиент соединяется с серве ром, то он запрашивает файлы модификации для групп, на которые он подписан, соединяет загруженные файлы модификации, отфильтровывает ненужные данные и обновляет свою местную базу данных.
Таким образом, данное изобретение обеспечивает ориентированный на данные подход к распределению изменений. При таком подходе сложность сервера базы данных относительно хранения и обработки данных не зависит от количества клиентов, которых необходимо поддерживать, что повышает расширяемость сервера. Вместо того, чтобы следить за данными, запрашиваемыми каждым клиентом, способ позволяет отслеживать изменения подмножеств данных, относящихся к группам. Таким образом, сервер должен лишь отслеживать изменения в этих подмножествах данных вместо отслеживания изменений для отдельных клиентов. Затем клиенты загружают подмножества, которые содержат соответствующие данные, из сервера и отфильтровывают возможные излишние данные, которые не относятся к ним. Поскольку сервер отслеживает ограниченный набор подмножеств, относящихся к группам клиентов вместо действительного количества клиентов, то увеличивается общая расширяемость системы.
Синхронизация базы данных
На фиг. 2 показана блок-схема первичных компонентов, используемых во время обновления баз данных внутри системы 10 базы данных с нерегулярным соединением. Многие компоненты стандартной компьютерной системы не показаны, такие как адресные буферы, буферы памяти и другие компоненты, поскольку эти элементы хорошо известны и не являются необходимыми для понимания данного изобретения. Компьютерные программы и файлы данных, показанные на фиг. 2, используются для выполнения различных стадий данного изобретения. Процесс согласно данному изобретению может выполняться с использованием персональных компьютеров, рабочих станций и серверов.
Как указывалось выше, система согласно данному изобретению улучшает способность систем базы данных обрабатывать и обслуживать большее количество клиентов, чем в известных до настоящего времени системах. За счет группирования данных внутри базы 15й данных в группы 80 данных и привязки отдельных файлов 86 модификации (дельта) к каждой группе 80 снижаются непроизводительные затраты, связанные с управлением системы 10 базы данных с нерегулярным соединением, и тем самым улучшается расширяемость системы базы данных. Как показано на фиг. 2, внутри системы 15й базы данных созданы 4 группы 80а, 80Ь, 80с и 80й данных. Элементы данных внутри каждой группы данных не обязательно должны быть исключающими друг друга. То есть группы данных могут содержать ссылки на одни и те же элементы данных. Для каждой из групп 80 данных выделяется ряд файлов 86 модификации. Периодически администратор системы создает новый файл модификации для каждой группы, содержащий все обновления данных, относящихся к группе, со времени создания последнего файла модификации. Файлы 86а, 86Ь, 86с и 866 модификации связаны соответственно с группами 80а, 80Ь, 80с и 806 данных. Файлы 88аа и 8066 обновления связаны соответственно с файлами 80а и 806 модификации. Когда выполняются изменения в любом из элементов внутри групп 80а-6 данных, то изменения записываются в базе данных. Хотя сотни клиентов могут быть соединены с системой 10 базы данных с нерегулярным соединением, используется относительно небольшое число файлов 86а-6 в данном примере для идентификации изменений внутри групп 80а-6 данных. В известных до настоящего времени системах система базы данных с нерегулярным соединением должна иметь файлы модификации, связанные с каждым клиентом, и идентифицировать все измененные элементы данных, к которым клиент имеет доступ. Таким образом, в известных до настоящего времени системах система управления базой данных должна хранить и поддерживать множество клиентских файлов для каждого клиента. За счет использования системы согласно данному изобретению, которая группирует элементы данных в группы 80 данных и связывает файлы модификации с каждой из групп данных, преимущественным образом значительно уменьшаются непроизводительные затраты на хранение и обработку в системе базы данных с нерегулярным соединением.
Когда клиентская компьютерная система 16 соединена с серверной базой 156 данных, то система 10 управления базой данных обеспечивает интерфейс между серверной базой 156 данных и клиентской компьютерной системой 16с. Следует отметить, что случай с клиентской компьютерной системой 16с репрезентативен и для клиентских компьютерные систем 1 6а и 1 6Ь. Клиентская компьютерная система 1 6с также имеет систему 106 управления базой данных, которая обеспечивает интерфейс между местной базой 15с данных и другими компьютерными системами. В системе 10 базы данных с нерегулярным соединением клиентская компьютерная система 16 сохраняет части данных, содержащихся в базе данных. Части данных, используемые в клиентской компьютерной системе 16, можно рассматривать как подмножество данных серверной базы данных, которые хранятся в местной базе 15с данных. Местная база 15с данных содержит информацию, относящуюся к процессам клиентской компьютерной системы 1 6с. Клиентская компьютерная система 1 6с извлекает данные из соответствующих групп 80 данных, и данные записываются в местную базу 15с данных. Аналогичным образом, когда модифицируются элементы данных внутри местной базы 15с данных, то модификации передаются в серверную базу 156 данных из клиентской компьютерной системы 1 6с, которые используются для обновления серверной базы 156 данных. Во время передачи информации из местной базы 15с данных или из серверной базы 156 данных передаваемые данные синхронизируются с соответствующей базой данных.
Клиентская компьютерная система 1 6с, получающая доступ к серверной базе 156 данных, содержит перечень или таблицу 88с множества групп, которые ей необходимы. Клиентская компьютерная система входит в контакт с серверной системой и запрашивает текущие файлы модификации для групп, относящихся к клиентской компьютерной системе. Модуль 107 программы управления управляет работой клиентской компьютерной системы 1 6с. Во время соединения клиентская компьютерная система 16с может передавать изменения данных и транзакции в серверную базу 156 данных, которые затрагивают данные в серверной базе 156 данных. Изменения данных, которые произошли в клиентской компьютерной системе 1 6с, которые затрагивают данные в серверной базе 156 данных, указываются с помощью файлов 105 модификации. Затем серверная база 156 данных обновляется с использованием изменений из клиентской компьютерной системы и выполняются соответствующие изменения в файлах модификации, связанных с группами, данные которых модифицированы клиентом.
Система 100 управления базой данных может осуществить доступ к соответствующим файлам модификации, которые связаны с группами данных, к которым клиент имеет доступ. Эти файлы модификации содержат последовательность транзакций и последовательность операций, которые произошли в соответствующих группах данных. Файлы 86 модификации, которые соответствуют группам данных, к которым имел доступ клиент, передаются затем в клиентскую компьютерную систему 1 6с. В известных до настоящего времени системах единственный клиентский файл передавался от системы управления клиентской базой данных. В отличие от известных до настоящего времени систем базы данных с нерегулярным соединением, передается множество файлов модификации, которые связаны с выбранными группами данных, в клиентскую компьютерную систему. Клиентская компьютерная система 1 6с оценивает каждый из файлов модификации для определения того, какие обновления будут стерты, реорганизованы или объединены для правильной синхронизации, как более подробно будет описано ниже, местной базы 15с данных с серверной базой 156 данных. Клиентская компьютерная система 16 может отфильтровывать и/или объединять файлы 80 модификации для обеспе чения целостности базы данных. Система 106 управления базой данных использует модуль 108 фильтрации для фильтрации и объединения множества файлов модификации, принятых из системы 100 управления базой данных.
Как показано на фиг. 2, с одной группой может быть связано более одного файла модификации. Для каждого множества или серий файлов модификации, связанных с одной группой, таких как файлы 86а и 86аа модификации, каждому из этих файлов модификации придаются порядковые номера. Когда клиентская компьютерная система 16с получает доступ к серверу 18, клиентская компьютерная система передает на сервер порядковый номер последнего файла обновления, полученного от сервера. Затем сервер передает только те файлы модификации, которые не передавались ранее в клиентскую компьютерную систему 1 6с, на основе порядкового номера, полученного из клиентской компьютерной системы 1 6с. Сервер передает только те файлы модификации, порядковый номер которых больше, чем порядковый номер, принятый от клиентской компьютерной системы. Может быть создан отдельный файл 86 модификации для группы, когда количество транзакций, содержащихся в файле, превосходит определенное количество, после истечения определенного периода времени или после того, как определенный ряд соединенных клиентских компьютерных систем завершат выполнение изменений данных определенных групп. Другие схемы определения, когда необходимо создавать несколько файлов модификации для групп, хорошо известны для специалистов в данной области техники и находятся внутри объема данного изобретения.
На фиг. 3а, 3Ь и 3с показана основная схема группирования клиентов. Примеры группирования, показанные на фиг. 3а, 3Ь и 3с, описаны в терминах реляционной базы данных и технологий программирования реляционной базы данных. Группирование данных можно выполнять различными способами. Подходящее группирование для конкретной системы зависит от многих факторов, включая скорость обработки сервера, объема диска сервера и пропускной способности сети. Технологии группирования можно разделить на две категории: динамическую и статическую.
При статическом группировании, показанном на фиг. 3а, 3Ь и 3с, группы данных известны заранее. При статическом группировании администратор может задавать группы. Клиентская компьютерная система подписана или связана с выбранными группами. Статическое группирование уменьшает требования к обработке в сервере при выполнении распределения файлов модификации, независимо от соединенных клиентов. Для специалистов в данной области техники известно, что горизонтальные или вертикальные сегменты отношений данных называются фрагментами и задаются заранее с помощью схемы разделения на части. Фрагменты содержаться в одной или более группах.
Можно использовать также динамическое группирование, хотя оно и не показано. При динамическом группировании количество и структура групп зависят от постоянно меняющихся признаков, таких как текущий набор транзакций и/или текущий набор соединенных клиентов. В одном типе динамического группирования отдельные группы существуют для каждой транзакции и клиентская компьютерная система подписывается на группы в зависимости от применяемых транзакций. Такой тип группирования называется ориентированным на транзакции группированием. Другим типом динамического группирования является ориентированное на объем группирование. В ориентированном на объем группировании образуется минимальное количество групп для обеспечения того, чтобы клиенты имели возможность, подписавшись на минимальное число групп, получать минимальное количество лишних данных.
Динамические технологии группирования помогают уменьшить ширину полосы и обработку по фильтрации у клиента посредством передачи только данных, относящихся к текущему набору соединенных клиентов. Однако такие технологии требуют обычно большего объема обработки в сервере, поскольку сервер динамично координирует группирования для обслуживания комбинаций клиентов и данных. В ориентированном на объем группировании сервер координирует обновления групп для распространения для каждого набора соединенных клиентов. В ориентированных на транзакции сетях сервер связывается с каждым клиентом отдельно для обработки операций обновления для каждого соответствующего клиента.
На фиг. 3а показан способ, с помощью которого можно организовывать серверные данные. Список 112 обучающихся (δΤυΌΕΝΤδ) содержит идентификационный номер 114 обучающегося (δΤυΌΕΝΤΙΌ), имя 116 (ΝΑΜΕ), номер 118 телефона (ΡΗΟΝΕ) и переменную для 120 класса (СЬА§8), которая может быть студентами 122 (υΝΏΕΚΟΚΑΌ) или аспирантами 124 (6ΚΑΌ). Общая схема сервера также включает в себя список 134 зачислений (ΕΝΚ.ΟΕΕ), который включает в себя идентификационный номер 136 обучающихся (δΤυΌΕΝΤΙΌ), идентификационный номер 138 курса (Ε’ΟυΡδΕΙΟ) и идентификационный номер 140 степени (6ΚΑΌΕ). Другая запись схемы устройства серверных данных включает в себя запись 150 курсов (СОЕН8Г8). которая включает в себя идентификационный номер 152 курса ΉΟυΒδΕΙΌ), наименование 154 курса (ΝΑΜΕ) и переменную запись 156 классов (СЕА88), которая содержит перечень 158 студентов (υΝΏΕΒΟΒΑΌ) и перечень 160 аспирантов (6Κ.ΑΌ).
На фиг. 3Ь показана таблица идентификаторов групп. Показаны идентификаторы 202, 206, 210, 214 и 218, связанные с или выделенные для групп данных базы данных. Идентификатор 202 студентов включает в себя информацию 112 об обучающихся, где класс определен как студенты 122 без номера 118 телефона. Идентификатор 204 группы аспирантов включает в себя информацию 112 об обучающихся, где класс определен как аспиранты 124, без номера 118 телефона. Идентификатор 206 группы номеров телефонов обучающихся включает в себя список 112 обучающихся с указанием только идентификационных номеров 114 обучающихся и номеров 118 телефонов. Группа 212 идентификаторов всех курсов включает в себя все данные о курсах в записи 150. Класс 216 всех зачисленных включает в себя все данные списка 134 зачислений.
На фиг. 3 с показано распределение клиентов по группам. В эту таблицу сначала получает доступ система управления серверной базой данных для определения, какие файлы 86 модификации должны быть выбраны для клиента. Студенты (υΝΏΕΚΟΚΛΌυΑΤΕ) распределены на группу 202 студентов (υΝΌΕΚΟΚΑΌυΑΤΕδΤυΌΕΝΤδ), группу 214 всех курсов (АЕЬ Γ’ϋυΚδΕδ) и группу 218 всех зачислений (ΑΕΕΕΝΚΘΕΕ). Аспиранты (ΟΚΑΌυΑΤΕ) распределены на группу 206 аспирантов (ΟΚΑΌυΑΤΕδΤυΌΕΝΤδ), группу 214 всех курсов (ΑΕΕ Γ’ϋυΚδΕδ) и группу 218 всех зачислений (ΑΕΕΕΝΚΘΕΕ). Профессоры клиенты (ΡΚΘΕΕ88ОК8) распределены на группу 206 аспирантов (ΟΚΑΌυΑΤΕ-δΤυΌΕΝΤδ), на группу 202 студентов (υΝΌΕΚΟΚΑΌυΑΤΕ-δΤυΌΕΝΤδ), группу 210 номеров телефонов обучающихся (δΤυΌΕΝΤδ-ΡΗΘΝΕ), группу 214 всех курсов (ΑΕΕ ΕϋυΚ8Ε8) и группу 218 всех зачислений (ΑΕΕ-ΕΝΚΘΕΕ). Зачисленные обучающиеся (ΕΝΚΟΕΕΕΚ) распределены на группу 218 данных всех зачислений (ΑΕΕ-ΕΝΚΘΕΕ). Эти группы данных и связи используются для обновления и синхронизации компьютеров внутри системы 10 базы данных с нерегулярным соединением. Сервер 18 обрабатывает пакетированные обновления, полученные от клиентов 16, и выполняет обновления в сервере 18 для создания дельта-файла для каждой группы на основе знания данных, которые используются совместно с каждым клиентом. На фиг. 3с показан файл 86 модификации (дельта-файл). Файл 86 идентификации для клиента содержит все операции с набором данных, которые относятся к изменениям данных групп, к которым относится клиент. Файл 86 модификации включает в себя последовательность транзакций, таких как транзакция А, транзакция С, транзакция К и транзакция 1, каждая из которых идентифицируется уникальным общим порядковым номером (например, 1, 2, 3, 4, 5,...), который указывает порядок выполнения транзакций в сервере 18. Ка ждая транзакция представляет последовательность операций 410, и каждая операция имеет уникальный порядковый номер, такой как ОР1, ОР2, ОР3, ОР4 и ОР5, которые указывают порядок выполнения операции внутри транзакции. Каждая операция относится только к одному фрагменту. Каждая транзакция идентифицирует клиентскую компьютерную систему 16, в которой она была впервые выполнена, как часть записи транзакции. Идентификационный номер 416 клиента связан с транзакцией.
За счет использования порядковых номеров 404 транзакций компьютерная система 16 может реконструировать порядок выполнения операций, произошедших в сервере 18, независимо от фрагментации операций в файле 400 модификации. Поскольку каждая операция выполняется с помощью одного фрагмента, то нет взаимных зависимостей между этими операциями, за исключением зависимостей от внешнего ключа. Взаимосвязанные операции без зависимости от внешнего ключа могут быть расположены в любом порядке. Взаимосвязанные операции сохраняют последовательный порядок в сервере. При предположении, что внешний ключ выводится из отношения, называемого родительским отношением, а первичный ключ из отношения, называемого дочерним отношением, взаимосвязанные операции с отношениями, связанными с внешним ключом, располагаются так, что вставка в родительские отношения предшествует соответствующей вставке в дочернее отношение; и стирание в дочерних отношениях предшествует соответствующему стиранию в родительских отношениях.
Фильтрация
Как указывалось выше, различные группы данных могут содержать информацию, которую конкретный клиент не должен получать, или информацию, которую клиент уже имеет. Например, если клиент выполняет изменение данных внутри базы данных, то клиент уже имеет изменение или запись изменения, которое было выполнено в базе данных. Следовательно, когда файлы модификации, которые содержат все операции, которые были выполнены, включают в себя операции обновления, выполненные конкретным клиентом, то операции, выполненные конкретным клиентом, не должны обрабатываться или использоваться, когда клиентская компьютерная система 16 принимает файлы 86 модификации для связанных с ними групп данных. Следовательно, клиентская компьютерная система 16 выполняет фильтрацию, распределение и объединение операций для обеспечения целостности местной базы данных при выполнении обновлений. Типы обработки, выполняемой в клиентской компьютерной системе 16, включают в себя отражательную фильтрации, схемы распределения, фильтрацию внутренних взаимосвязей, фильтрацию взаимосвязей, фильтрацию дубликатов, соединение операций и расположение с обеспечением целостности на уровне ссылок. Ниже приводится описание фильтрации с использованием примеров групп, показанных на фиг. 3а, 3Ь и 3с.
Отражательная фильтрация относится к клиентской компьютерной системе, оценивающей файлы 86 модификации для транзакций, которые были переданы в клиентскую компьютерную систему и были первоначально выполнены в клиентской компьютерной системе. Схема распределения является процессом, с помощью которого клиент применяет конверсию синонимов к наименованиям групп, которые названы по другому в местной базе 15с данных, чем в серверной базе 156 данных. Это обеспечивает правильное согласование групп во время обновления для обеспечения целостности данных для групп внутри баз данных. Фильтрация данных для отношений, основанных на данных, являющихся внутренними для отношения, называется фильтрацией внутренних взаимосвязей. Фильтрация внутренних взаимосвязей отфильтровывает избыточные данные колонки и строки, которые могут быть переданы клиенту. Например, студенты получают данные из отношения зачислений; однако, студенты не авторизованы на просмотр данных об аспирантах. Поэтому информация об аспирантах изымается или стирается из группы списка зачислений, когда она передается студентам. Аналогичным образом, аспиранты получают все данные из курсовых записей; однако, аспиранты авторизованы только на просмотр информации об аспирантах. В примере, показанном на фиг. 3а, 3Ь, 3 с, фильтрация группы курса для студентов означает, что информация об аспирантах стирается или изымается.
Фильтрация данных группы, которая используется совместно, на основе данных в другой таблице базы данных, называется фильтрацией взаимосвязей. Фильтрация взаимосвязей осуществляется, поскольку не все лишние данные отфильтровываются с помощью данных внутри группы. Например, студенты должны получать только данные группы 218 всех зачислений; однако, для определения того, предназначена ли группа 134 зачислений для студента, необходимо определить идентификационный номер курса с использованием группы 134 курса. В показанном на фиг. 3Ь примере группирования студент получает данные о зачислениях в группе 218 всех зачислений. Затем студент использует группу 214 курса для определения, какие данные о зачисленных должны быть отфильтрованы. Удаление дубликатов относится к процессу обнаружения и стирания/удаления копий транзакций. Копии транзакций возникают, потому что одни и те же данные могут повторяться более чем в одной группе. В показанных на фиг. 3а, 3Ь, 3с примерах профессоры совместно используют группу 202 студентов, группы 206 аспирантов, и группы 210 телефо нов обучающихся. Например, исключение одного обучающегося приводит к тому, что транзакция будет передана дважды профессору, поскольку группа 210 телефонов обучающихся и группы 202 студентов по определению основаны на списке 112 обучающихся. В каждой из этих групп присутствует идентификационный номер обучающегося. Поэтому клиентпрофессор должен обнаружить копию транзакции и выполнить одно стирание для местной базы 156 данных.
Соединение операций включает в себя соединение операций, которые были разделены при размещении в группы. Операции транзакций могут быть разделены при помещении в группы. Клиенты должны проверять, что эти операции объединены для сохранения целостности. Рассмотрим, например, следующую последовательность операций в сервере.
ΙΝ8ΕΚ.Τ (1000, 1ойи 8шйй, 555-5555, υΝΏΕΒ) ΙΝΤΟ 8!и6еп15;
ΌΕΕΕΤΕ ΕΚ.ΟΜ 8!и6еп15 ΑΗΕΕΕ 8!и6еп15 ΙΌ=1000;
последовательность операций разделяется на следующие последовательности для групп студентов и телефонов обучающихся соответственно:
ΙΝ8ΕΚ.Τ (1000, 1ойп 8шйй, ΕΧΟΕΙΌ ΙΝΤΟ 81и6еп15;
ΟΕΕΕΤΕ ΕΕΟΜ 8!и6еп15 ΑΗΕΕΕ 8!и6еп15 ΙΌ=1000; и
ΙΝ8ΕΚ.Τ (1000, 555-5555) ΙΝΤΟ 8!и6епЕ;
ΟΕΕΕΤΕ ΕΕΟΜ 8!и6еп15 ΑΗΕΕΕ 8!и6еп15 ΙΌ=1000.
Клиент-профессор должен объединить транзакции из студентов и телефонов обучающихся так, чтобы (1) вставки были объединены в одну вставку, (2) исключались стирания копий и (3) объединенная вставка выполнялась перед стиранием.
Расположение с обеспечением целостности на уровне ссылок включает в себя обработку файлов модификации для обеспечения того, чтобы транзакции, которые ссылаются на другие группы, сохраняли свою целостность во время объединения транзакций. При транзакции объединения клиент должен учитывать ограничения, накладываемые требованием сохранения целостности на уровне ссылок. Выполнение транзакций не по порядку у клиента может приводить к отклонениям операций у клиента, которые были разрешены на сервере, что приводит к разрушению целостности данных клиента. Рассмотрим две вставки на сервере:
ΙΝ8ΕΡΤ (6555, Опешит ТЕеогу, ТЕСЛО) ΙΝΤΟ Соигкек;
и затем
ΙΝ8ΕΚ.Τ (1001, 6555) ΙΝΤΟ ΕωΌΐί.
Эти две вставки получат клиентыаспиранты соответственно в группах Все курсы и Все зачисления. Следует учесть, что Курсы. Идентификационный номер курса яв ляется внешним ключом для Зачисления. Идентификационный номер курса; следовательно, необходимо сохранить порядок вставок, в частности кортеж для таблицы Курсы должен быть вставлен перед вставлением кортежа Зачисления. В целом, необходимо сохранять определенный порядок операций с различными взаимоотношениями, на которые распространяются ограничения, связанные с необходимостью сохранения целостности на уровне ссылок.
Процессы, выполняемые в системе базы данных с нерегулярным соединением
На фиг. 5а, 5Ь и 5с показаны процессы, выполняемые согласно данному изобретению. Эти процессы описывают процесс, используемый для соединения клиентских компьютерных систем 16 с группами данных серверной базы 156 данных во время соединения серверной базы 156 данных с клиентской компьютерной системой 16. Процессы описывают также процесс синхронизации между базами данных системы базы данных с нерегулярным соединением. На стадии 502 клиентская компьютерная система 16 соединяется с сервером 18. На стадии 504 сервер 18 принимает запрос на обновление от клиентской компьютерной системы. На стадии 512 файлы 86 модификации передаются в запрашивающую клиентскую компьютерную систему 16. На стадии 516 клиентская компьютерная система 16 начинает анализ файлов 400 модификации для определения, какие данные из файла 86 модификации необходимо отфильтровать, объединить, стереть или подвергнуть другой модификации.
На стадии 518 процесс оценивает идентификационный номер клиента и файл модификации, и на стадии 520 процесс определяет, создавала ли клиентская компьютерная система 16 какие-либо транзакции в файле модификации. Если клиент создал какие-либо транзакции, то процесс переходит на стадию 522, в которой отфильтровываются транзакции, созданные клиентом. Затем процесс переходит на стадию 524. Однако, если на стадии 520 будет установлено, что ни одна из транзакций не создана клиентом, то процесс переходит на стадию 524. На стадии 524 клиентская компьютерная система при необходимости выполняет преобразование синонимов или наименований в системе базы данных клиента, как указывалось выше. Затем процесс переходит на стадию 530. На стадии 530 процесс определяет, должен ли клиент получить все данные, содержащиеся в группе. Процесс переходит на стадию 532, в которой отфильтровываются все дубликаты данных. Затем процесс переходит на стадию 540. Однако, если на стадии 530 будет установлено, что клиент должен получить все данные, содержащиеся в группе данных, то процесс переходит непосредственно на стадию 540.
На стадии 540 процесс определяет, необходима ли клиентской компьютерной системе информация из других групп для выполнения надежного обновления местной базы 15с данных. Если клиенту 16 необходима информация из других групп для обновления определенной информации, то процесс переходит на стадию 542, в которой информация, необходимая для выполнения обновлений, извлекается из других групп. Процесс переходит на стадию 544. На стадии 544 процесс отфильтровывает взаимосвязанные данные для нахождения необходимой информации, как указывалось выше. Процесс переходит на стадию 546. На стадии 546 процесс определяет, копировались ли транзакции. Если на стадии 546 не будет обнаружено копий транзакций, то процесс переходит на стадию 556. Однако, если на стадии 546 будет установлено, что транзакции копированы, то дубликат информации стирают на стадии 554. На стадии 556 процесс определяет, есть ли необходимость объединять какие-либо операции, обнаруженные в файлах модификации, и при необходимости объединяет файлы. Затем процесс переходит на стадию 562, на которой оценивается целостность на уровне ссылок файлов модификации. Процесс заканчивается на стадии 566.
Приведенные описания даны только в качестве примеров и не должны ограничивать принципы или объем данного изобретения. Для специалистов в данной области техники из описания следуют многие модификации, изменения или продолжения описанных специальных вариантов выполнения без выхода из объема изобретения, определяемого прилагаемой формулой изобретения.

Claims (22)

1. Способ обновления баз данных в компьютере клиента, содержащий группирование данных в серверной базе данных на основе выбранных критериев;
назначение одной или нескольких групп в качестве доступных для компьютеров определенных клиентов;
запись изменений данных каждой группы в файл модификации; и передачу указанного файла модификации в клиентскую компьютерную систему, имеющую местную базу данных, которая содержит выбранные части данных, по меньшей мере, из одной из указанных групп, предназначенных для компьютера клиента;
обновление указанной базы данных клиентской компьютерной системы с использованием необходимой информации из указанного файла модификации.
2. Способ по п.1, отличающийся тем, что дополнительно содержит стадию связывания множества файлов модификации с группой и отслеживание, какие из множества файлов были переданы в конкретные клиентские компьютерные системы.
3. Способ по п. 1, отличающийся тем, что стадия группирования данных основана на предварительно выбранных статических критериях.
4. Способ по п. 1, отличающийся тем, что стадия группирования данных основана на динамически создаваемых критериях.
5. Способ по п.2, отличающийся тем, что дополнительно содержит стадию связывания уникальных порядковых номеров с каждым из файлов модификации.
6. Способ по п. 1, отличающийся тем, что дополнительно содержит стадию обновления местных баз данных клиентской компьютерной системы с использованием файлов модификации, созданных для записи изменений данных внутри групп, которые предназначены для клиентских компьютерных систем.
7. Способ по п. 1, отличающийся тем, что дополнительно содержит стадию передачи клиентской компьютерной системой модификаций, выполненных в указанных выбранных частях, в серверную компьютерную систему.
8. Способ по п.7, отличающийся тем, что дополнительно содержит стадию обновления указанной серверной базы данных с помощью указанных модификаций в указанных выбранных частях данных.
9. Способ по п.8, отличающийся тем, что содержит определение, какие данные групп серверной базы данных были изменены, создание файлов модификации на основе этих изменений и определения, какие выбранные группы предназначены для клиентской компьютерной системы; и после определения, какие выбранные группы связаны с клиентской компьютерной системой, передачу файлов модификации, связанных с выбранными группами, в клиентскую компьютерную систему,
10. Способ по п.9, отличающийся тем, что дополнительно содержит стадии оценки файлов модификации в клиентских компьютерных системах для определения, содержат ли данные в первом файле модификации модификации, которые релевантны модификациям, содержащимся во втором файле модификации; и обработки релевантных модификаций для обеспечения сохранения согласованности между серверной базой данных и местной базой данных.
11. Способ по п. 10, отличающийся тем, что стадия обработки включает в себя определение, какие модификации следует стереть при обновлении местной базы данных.
12. Способ по п. 11, отличающийся тем, что стадия обработки включает в себя определение, какие транзакции файлов модификации были созданы клиентской компьютерной системой, подлежащей обновлению, и стирание тех моди фикаций из файлов модификации, которые были созданы клиентской компьютерной системой, подлежащей обновлению.
13. Способ по п.10, отличающийся тем, что стадия обработки включает в себя определение, какие модификации в файлах модификации дублированы в файле модификации, связанном с другой группой, и сохранение одной модификации для дублированных модификаций и стирание других дублированных модификаций.
14. Способ по п.10, отличающийся тем, что стадия обработки включает в себя объединение релевантной информации между файлами для образования транзакции, которая сохраняет согласованность местной базы данных с серверной базой данных.
15. Способ по п. 1, отличающийся тем, что стадия записи изменений включает в себя сохранение клиентского списка изменений, которые были модифицированы, начиная с предыдущего периода времени, когда клиентская компьютерная система была соединена с серверной базой данных.
16. Способ по п. 1, отличающийся тем, что стадия назначения содержит сохранение индекса клиента клиентской компьютерной системы, при этом указанный индекс клиента связывает каждую клиентскую компьютерную систему с группой данных, которая связывается на основе содержания элементов данных.
17. Способ по п. 1, отличающийся тем, что содержит определение, какая клиентская компьютерная система соединена с серверной базой данных, и определение, какая выбранная группа предназначена для клиентской компьютерной системы; и после определения выбранной группы, связанной с клиентской компьютерной системой, передачу файлов модификации, связанных с выбранными группами, в клиентскую компьютерную систему.
18. Система для обновления клиентских компьютерных систем на основе данных в центральной компьютерной системе, содержащая множество клиентских компьютерных систем;
серверную компьютерную систему, содержащую серверную базу данных, при этом указанная серверная база данных содержит данные, которые сгруппированы на основе предварительно выбранных критериев, и каждый клиент приписан к группе;
файл модификации, созданный для каждой группы данных, в которых изменялись данные, в серверной компьютерной системе, при этом указанный файл модификации включает в себя список транзакций модификаций, которые произошли внутри групп данных; и программный модуль, который обновляет местные базы данных клиентских компьютер ных систем на основе изменений в файлах модификации.
19. Система по п.18, отличающаяся тем, что серверная компьютерная система выполнена с возможностью связывания соответствующих клиентов с выбранными группами данных.
20. Система по п.18, отличающаяся тем, что клиентская компьютерная система содержит клиентский программный модуль, выполненный с возможностью оценивания каждого из файлов модификации и обновления местной базы данных на основе оценки и сравнения информации в файлах модификации.
Фиг. 1
21. Система по п.20, отличающаяся тем, что клиентский программный модуль выполнен с возможностью обновления местной базы данных путем стирания ненужной информации из файлов модификации.
22. Система по п.20, отличающаяся тем, что клиентский программный модуль выполнен с возможностью передачи модификаций, выполненных в указанных выбранных частях, в серверную базу данных; и серверная компьютерная система выполнена с возможностью обновления серверной базы данных с помощью модификаций указанных выбранных частей данных.
112 ,-114 ,-116,-118 ,-120 122<-124
3Τυ0ΕΝΤ3(3Τυ0ΕΝΤΙ0. ΝΑΜΕ. ΡΗΟΝΕ#, СЕАЗЗ {υΝΟΕΚΒΡΑϋ. ΟΡΑβ}) ,-134 ^13а ^-138^-140
ЕМРОЩЗТиСЕМТЮ. СОиНЗЕ Ю. 0КАОЕ)
150 152 ,-154,-156 158,-160
С0иК5Е8(С0иЕЗЕЮ ΝΑΜΕ, СЦАЗЗ {υΝΟΕΚΘΚΑΟ. ОКАО})
Фиг. 3 а ввоир υΝΟΕΚΟΚΑΟυΑΤΕ-δΤυΟΕΝΤδ <3ΚΑ0υΑΤΕ·3Τυ0ΕΝΤ3 202 3Τυ0ΕΝΤ5-ΡΗΟΝΕ 206 ^-210
АЕЮОиКЗЕЗ <214
АИ-ЕИРОИ <218
ВНОЦР ОАТА5ЕТ
5ΤϋΟΕΝΤ8(3ΤυθΕΝΤΙΟ.ΝΑΜΕ.{ϋΝΟΕΕΟΡΑΟ}) ετυθΕΝΤ5(8ΤυθΕΝΤΙϋ. ΝΑΜΕ. {ΟΡΑΟ})
5Τυ0ΕΝΤ5(δΤΙΙ0ΕΝΤ10, ΡΗΟΝΕ)
СОиК5ЕЗ(АИ ΟΑΤΑ)
ЕМЕЮЩАН ϋΑΤΑ)
Фиг. 3Ь
Фиг. 2
Οί-ίΕΝΤΤΥΡΕ υΝΟΕΚδΡΑϋυΑΤΕ
ΟΚΑΟυΑΤΕ
ΡΡΟΕΕ35ΟΡ5
Α53Ι5ΝΕΡ 5РОЦР5 υΝ0ΕΡΘΡΑ011ΑΤΕ-3Τυ0ΕΝΤ5
АШСОиКЗЕЗ< 202
ΑΙΛ-ΕΝΚΟΙΛ. <214 <218
ΘΡΑ0υΑΤΕ-8Τυ0ΕΝΤ8 АШСОиРЗЕЗ<20β
ΑΙ_!_-ΕΝΡΟ!_Ι- <214 <218 206
6ΡΑ0υΑΤΕ-3Τυ0ΕΝΤ3 υΝ0ΕΡ3ΡΑ0υΑΤΕ-8Τυ0ΕΝΤ8 3ΤυθΞΝΤ8-ΡΗΟΝΕ< 202
АЫ-СОиК8ЕЗ 4210
Α1±-ΕΝΗΟ1.1_ '
218
ΑΙΙ_·ΕΝΡΟΙ_ί_-218
Фиг. 3 с
ΕΝΕΟΙΛΕΡ
EA200100363A 1998-09-17 1999-09-17 Система и способ синхронизации и организации баз данных EA002931B1 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/156,075 US6226650B1 (en) 1998-09-17 1998-09-17 Database synchronization and organization system and method
PCT/US1999/021661 WO2000016222A1 (en) 1998-09-17 1999-09-17 Database synchronization and organization system and method

Publications (2)

Publication Number Publication Date
EA200100363A1 EA200100363A1 (ru) 2001-10-22
EA002931B1 true EA002931B1 (ru) 2002-10-31

Family

ID=22558001

Family Applications (1)

Application Number Title Priority Date Filing Date
EA200100363A EA002931B1 (ru) 1998-09-17 1999-09-17 Система и способ синхронизации и организации баз данных

Country Status (12)

Country Link
US (1) US6226650B1 (ru)
EP (1) EP1114375A4 (ru)
JP (1) JP2003522344A (ru)
AU (1) AU755292B2 (ru)
BR (1) BR9913844A (ru)
CA (1) CA2344542A1 (ru)
EA (1) EA002931B1 (ru)
IL (1) IL142058A (ru)
MX (1) MXPA01002852A (ru)
UA (1) UA65638C2 (ru)
WO (1) WO2000016222A1 (ru)
ZA (1) ZA200102717B (ru)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10037348B2 (en) 2013-04-08 2018-07-31 Nuodb, Inc. Database management system with database hibernation and bursting
US10067969B2 (en) 2015-05-29 2018-09-04 Nuodb, Inc. Table partitioning within distributed database systems
US10180954B2 (en) 2015-05-29 2019-01-15 Nuodb, Inc. Disconnected operation within distributed database systems
US10282247B2 (en) 2013-03-15 2019-05-07 Nuodb, Inc. Distributed database management system with node failure detection
US10740323B1 (en) 2013-03-15 2020-08-11 Nuodb, Inc. Global uniqueness checking in distributed databases
US10884869B2 (en) 2015-04-16 2021-01-05 Nuodb, Inc. Backup and restore in a distributed database utilizing consistent database snapshots
US11176111B2 (en) 2013-03-15 2021-11-16 Nuodb, Inc. Distributed database management system with dynamically split B-tree indexes
US11573940B2 (en) 2017-08-15 2023-02-07 Nuodb, Inc. Index splitting in distributed databases

Families Citing this family (259)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3614495A1 (de) * 1986-04-29 1987-11-05 Kloeckner Humboldt Deutz Ag Kraftstoffeinspritzvorrichtung fuer eine brennkraftmaschine
US5689705A (en) * 1995-02-13 1997-11-18 Pulte Home Corporation System for facilitating home construction and sales
US6597392B1 (en) 1997-10-14 2003-07-22 Healthcare Vision, Inc. Apparatus and method for computerized multi-media data organization and transmission
US7885822B2 (en) * 2001-05-09 2011-02-08 William Rex Akers System and method for electronic medical file management
US7956894B2 (en) 1997-10-14 2011-06-07 William Rex Akers Apparatus and method for computerized multi-media medical and pharmaceutical data organization and transmission
US6493725B1 (en) * 1998-05-18 2002-12-10 Sharp Kabushiki Kaisha Database managing system
JP4406944B2 (ja) * 1998-11-11 2010-02-03 株式会社日立製作所 計算機システム及び問合せに対する処理分散システム
US9239763B2 (en) 2012-09-28 2016-01-19 Oracle International Corporation Container database
US10191922B2 (en) 1998-11-24 2019-01-29 Oracle International Corporation Determining live migration speed based on workload and performance characteristics
JP2000163344A (ja) * 1998-11-27 2000-06-16 Nec Corp ネットワーク管理システムのデータベース復旧方式
US6658167B1 (en) * 1999-01-31 2003-12-02 Hewlett-Packard Development Company, L.P. On the fly server for modifying data characteristics for client-server network applications
AU763524B2 (en) * 1999-03-02 2003-07-24 Flexera Software Llc Data file synchronisation
US6681370B2 (en) * 1999-05-19 2004-01-20 Microsoft Corporation HTML/XML tree synchronization
US7363330B1 (en) * 1999-06-07 2008-04-22 Symantec Corporation Work monitor with file synchronization
US6427168B1 (en) * 1999-07-26 2002-07-30 Microsoft Corporation Architecture for system monitoring using high-performance providers
US6339777B1 (en) * 1999-07-30 2002-01-15 International Business Machines Corporation Method and system for handling foreign key update in an object-oriented database environment
US7099898B1 (en) * 1999-08-12 2006-08-29 International Business Machines Corporation Data access system
US6574729B1 (en) * 1999-08-26 2003-06-03 Lucent Technologies Inc. System for remotely identifying and providing information of unknown software on remote network node by comparing the unknown software with software audit file maintained on server
US6446048B1 (en) * 1999-09-03 2002-09-03 Intuit, Inc. Web-based entry of financial transaction information and subsequent download of such information
US7392308B2 (en) * 1999-09-10 2008-06-24 Ianywhere Solutions, Inc. System, method, and computer program product for placement of channels on a mobile device
US7987420B1 (en) 1999-09-10 2011-07-26 Ianywhere Solutions, Inc. System, method, and computer program product for a scalable, configurable, client/server, cross-platform browser for mobile devices
US20020052781A1 (en) * 1999-09-10 2002-05-02 Avantgo, Inc. Interactive advertisement mechanism on a mobile device
US20010047394A1 (en) * 1999-09-10 2001-11-29 Kloba David D. System, method, and computer program product for executing scripts on mobile devices
US20080215672A1 (en) * 1999-09-10 2008-09-04 Sybase 365, Inc. System, Method, and Computer Program Product for a Scalable, Configurable, Client/Server, Cross-Platform Browser for Mobile Devices
US8595308B1 (en) 1999-09-10 2013-11-26 Ianywhere Solutions, Inc. System, method, and computer program product for server side processing in a mobile device environment
US6553412B1 (en) 1999-09-10 2003-04-22 Avantgo, Inc. System, method, and computer program product for web content aggregation and development, and web content delivery to clients
US6826539B2 (en) * 1999-12-31 2004-11-30 Xactware, Inc. Virtual structure data repository and directory
US8156074B1 (en) * 2000-01-26 2012-04-10 Synchronoss Technologies, Inc. Data transfer and synchronization system
US7035878B1 (en) 2000-01-25 2006-04-25 Fusionone, Inc. Base rolling engine for data transfer and synchronization system
US8620286B2 (en) 2004-02-27 2013-12-31 Synchronoss Technologies, Inc. Method and system for promoting and transferring licensed content and applications
US6671757B1 (en) 2000-01-26 2003-12-30 Fusionone, Inc. Data transfer and synchronization system
US6694336B1 (en) 2000-01-25 2004-02-17 Fusionone, Inc. Data transfer and synchronization system
US6493727B1 (en) * 2000-02-07 2002-12-10 Hewlett-Packard Company System and method for synchronizing database in a primary device and a secondary device that are derived from a common database
US6643669B1 (en) * 2000-03-14 2003-11-04 Telefonaktiebolaget Lm Ericsson (Publ) Method for optimization of synchronization between a client's database and a server database
DE10017612A1 (de) * 2000-03-31 2001-10-11 Tillmann Roepenack Verfahren zum automatischen Aktualisieren eines Benutzer-Datensatzes mit Verwaltungsdaten
AU2001261186A1 (en) * 2000-05-03 2001-11-12 Magellan Corporation Low signal-to-noise ratio positioning system
EP1190508B1 (en) 2000-05-03 2014-01-01 MITAC International Corporation Method and apparatus for interference reduction
US20020057803A1 (en) * 2000-05-05 2002-05-16 Loos Michael T. System and method for communicating in a mobile domain across non-persistent data links
US6944651B2 (en) * 2000-05-19 2005-09-13 Fusionone, Inc. Single click synchronization of data from a public information store to a private information store
US6721742B1 (en) * 2000-05-31 2004-04-13 International Business Machines Corporation Method, system and program products for modifying globally stored tables of a client-server environment
US7487152B1 (en) 2000-05-31 2009-02-03 International Business Machines Corporation Method for efficiently locking resources of a global data repository
US6785868B1 (en) * 2000-05-31 2004-08-31 Palm Source, Inc. Method and apparatus for managing calendar information from a shared database and managing calendar information from multiple users
US7013316B1 (en) * 2000-07-13 2006-03-14 Microsoft Corporation System and method for synchronizing multiple database files
US7143194B1 (en) * 2000-07-13 2006-11-28 Microsoft Corporation System and method for optimizing the data transfer between mirrored databases stored on both a client and server computer
US20020059299A1 (en) * 2000-07-14 2002-05-16 Frederic Spaey System and method for synchronizing databases
US7895334B1 (en) 2000-07-19 2011-02-22 Fusionone, Inc. Remote access communication architecture apparatus and method
US8073954B1 (en) 2000-07-19 2011-12-06 Synchronoss Technologies, Inc. Method and apparatus for a secure remote access system
US7117239B1 (en) 2000-07-28 2006-10-03 Axeda Corporation Reporting the state of an apparatus to a remote computer
US6925476B1 (en) 2000-08-17 2005-08-02 Fusionone, Inc. Updating application data including adding first change log to aggreagate change log comprising summary of changes
US20060074727A1 (en) 2000-09-07 2006-04-06 Briere Daniel D Method and apparatus for collection and dissemination of information over a computer network
US6879996B1 (en) * 2000-09-13 2005-04-12 Edward W. Laves Method and apparatus for displaying personal digital assistant synchronization data using primary and subordinate data fields
DE10046319A1 (de) * 2000-09-19 2002-04-04 Siemens Ag Vorrichtung und Verfahren zum Synchronisieren von Datenbanken in verteilten Kommunikationssystemen
US8108543B2 (en) 2000-09-22 2012-01-31 Axeda Corporation Retrieving data from a server
US7185014B1 (en) 2000-09-22 2007-02-27 Axeda Corporation Retrieving data from a server
US7587446B1 (en) 2000-11-10 2009-09-08 Fusionone, Inc. Acquisition and synchronization of digital media to a personal information space
US7818435B1 (en) 2000-12-14 2010-10-19 Fusionone, Inc. Reverse proxy mechanism for retrieving electronic content associated with a local network
US6718349B2 (en) * 2000-12-14 2004-04-06 Borland Software Corporation Intelligent, optimistic concurrency database access scheme
US20020083151A1 (en) * 2000-12-22 2002-06-27 Robert Adams System and method for database access and management
JP2004528621A (ja) * 2001-01-03 2004-09-16 シンクロロジック インコーポレイテッド リモート・デバイス間のデータ同期のためのシステム及び方法
US6847983B2 (en) 2001-02-28 2005-01-25 Kiran Somalwar Application independent write monitoring method for fast backup and synchronization of open files
US7162478B2 (en) * 2001-02-28 2007-01-09 International Business Machines Corporation System and method for correlated fragmentations in databases
US6985915B2 (en) 2001-02-28 2006-01-10 Kiran Somalwar Application independent write monitoring method for fast backup and synchronization of files
US8615566B1 (en) 2001-03-23 2013-12-24 Synchronoss Technologies, Inc. Apparatus and method for operational support of remote network systems
US6829655B1 (en) * 2001-03-28 2004-12-07 Siebel Systems, Inc. Method and system for server synchronization with a computing device via a companion device
US7366738B2 (en) * 2001-08-01 2008-04-29 Oracle International Corporation Method and system for object cache synchronization
US20030074379A1 (en) * 2001-10-11 2003-04-17 International Business Machines Corporation Apparatus and method of predicting file download time based on historical data
EP1444631A2 (en) * 2001-11-07 2004-08-11 SAP Aktiengesellschaft Multi-purpose configuration model
US7370044B2 (en) * 2001-11-19 2008-05-06 Equifax, Inc. System and method for managing and updating information relating to economic entities
US7254601B2 (en) 2001-12-20 2007-08-07 Questra Corporation Method and apparatus for managing intelligent assets in a distributed environment
US7085784B2 (en) * 2002-01-10 2006-08-01 International Business Machines Corporation System and method for eliminating duplicate copies of activity history logs in bridging two or more backend database systems
US6996558B2 (en) * 2002-02-26 2006-02-07 International Business Machines Corporation Application portability and extensibility through database schema and query abstraction
US7398263B2 (en) * 2002-02-26 2008-07-08 International Business Machines Corporation Sequenced modification of multiple entities based on an abstract data representation
US8244702B2 (en) * 2002-02-26 2012-08-14 International Business Machines Corporation Modification of a data repository based on an abstract data representation
US20030172070A1 (en) * 2002-03-06 2003-09-11 Sawadsky Nicholas Justin Synchronous peer-to-peer multipoint database synchronization
AU2003218042A1 (en) * 2002-03-08 2003-09-22 Robert F. Snapp A method for preventing improper correction of a database during an updating process
US7130874B2 (en) * 2002-03-12 2006-10-31 International Business Machines Corporation Method, system, and program for maintaining data in a distributed computing environment for processing transaction requests
US7133878B2 (en) 2002-03-21 2006-11-07 Sap Aktiengesellschaft External evaluation processes
WO2003081467A2 (en) * 2002-03-21 2003-10-02 Sap Aktiengesellschaft Synchronizing users on shared data with locks
US20030182167A1 (en) * 2002-03-21 2003-09-25 Wolfgang Kalthoff Goal management
US7031787B2 (en) 2002-03-21 2006-04-18 Sap Aktiengesellschaft Change management
US7178149B2 (en) 2002-04-17 2007-02-13 Axeda Corporation XML scripting of soap commands
GB0211644D0 (en) 2002-05-21 2002-07-03 Wesby Philip B System and method for remote asset management
US11337047B1 (en) 2002-05-21 2022-05-17 M2M Solutions Llc System and method for remote asset management
US7464097B2 (en) * 2002-08-16 2008-12-09 Sap Ag Managing data integrity using a filter condition
US7127475B2 (en) * 2002-08-15 2006-10-24 Sap Aktiengesellschaft Managing data integrity
US20040044730A1 (en) * 2002-09-03 2004-03-04 Holger Gockel Dynamic access of data
CN100410932C (zh) * 2002-09-03 2008-08-13 Sap股份公司 在数据管理***中分布数据的方法和***、共享数据的***
JP4593290B2 (ja) 2002-09-03 2010-12-08 エスアーペー アーゲー マスタデータ管理における配信
US8180732B2 (en) * 2002-11-27 2012-05-15 Sap Ag Distributing data in master data management systems
US7509326B2 (en) * 2002-09-03 2009-03-24 Sap Ag Central master data management
US8438238B2 (en) * 2002-10-16 2013-05-07 Sap Ag Master data access
US6760794B2 (en) 2002-11-22 2004-07-06 Honda Giken Kogyo Kabushiki Kaisha Method for decreasing downtime in vehicle identification number stamping operations
US7044196B2 (en) * 2003-01-31 2006-05-16 Cooligy,Inc Decoupled spring-loaded mounting apparatus and method of manufacturing thereof
US9691053B1 (en) 2003-02-13 2017-06-27 Sap Se System and method of master data management
US7966418B2 (en) 2003-02-21 2011-06-21 Axeda Corporation Establishing a virtual tunnel between two computer programs
US7054877B2 (en) * 2003-03-31 2006-05-30 International Business Machines Corporation Dealing with composite data through data model entities
US7308465B2 (en) * 2003-04-03 2007-12-11 Microsoft Corporation Playback graph for data synchronization
US7162472B2 (en) * 2003-06-24 2007-01-09 Microsoft Corporation System and method for database change notification
US8645471B2 (en) 2003-07-21 2014-02-04 Synchronoss Technologies, Inc. Device message management system
US7899843B2 (en) * 2003-09-19 2011-03-01 International Business Machines Corporation Expanding the scope of an annotation to an entity level
US7873353B2 (en) * 2003-09-30 2011-01-18 Ianywhere Solutions, Inc. Method and system for accessing applications and data, and for tracking of key indicators on mobile handheld devices
US7324473B2 (en) * 2003-10-07 2008-01-29 Accenture Global Services Gmbh Connector gateway
US7239877B2 (en) * 2003-10-07 2007-07-03 Accenture Global Services Gmbh Mobile provisioning tool system
US8655755B2 (en) * 2003-10-22 2014-02-18 Scottrade, Inc. System and method for the automated brokerage of financial instruments
US7900133B2 (en) 2003-12-09 2011-03-01 International Business Machines Corporation Annotation structure type determination
US7930149B2 (en) * 2003-12-19 2011-04-19 Sap Aktiengesellschaft Versioning of elements in a configuration model
US20050149474A1 (en) * 2003-12-30 2005-07-07 Wolfgang Kalthoff Master data entry
US7272776B2 (en) * 2003-12-30 2007-09-18 Sap Aktiengesellschaft Master data quality
US7184753B2 (en) * 2004-01-22 2007-02-27 Research In Motion Limited Mailbox pooling pre-empting criteria
US7647256B2 (en) * 2004-01-29 2010-01-12 Novell, Inc. Techniques for establishing and managing a distributed credential store
US9542076B1 (en) 2004-05-12 2017-01-10 Synchronoss Technologies, Inc. System for and method of updating a personal profile
KR20070038462A (ko) 2004-05-12 2007-04-10 퓨전원 인코포레이티드 향상된 접속 인식 시스템
US8135803B2 (en) * 2004-08-23 2012-03-13 Ianywhere Solutions, Inc. Method, system, and computer program product for offline advertisement servicing and cycling
US20060064470A1 (en) * 2004-09-23 2006-03-23 Sargent Antony J Method, system, and computer program product for improved synchronization efficiency for mobile devices, including database hashing and caching of web access errors
US7574456B2 (en) * 2004-12-16 2009-08-11 Sap Ag Bidirectional update of client-server objects
US8122012B2 (en) * 2005-01-14 2012-02-21 International Business Machines Corporation Abstract record timeline rendering/display
US7693888B2 (en) * 2005-05-10 2010-04-06 Siemens Communications, Inc. Data synchronizer with failover facility
JP4182083B2 (ja) * 2005-05-12 2008-11-19 キヤノン株式会社 ネットワークに接続されたネットワーク機器を管理する装置、方法、及びプログラム
US7962585B2 (en) * 2005-08-15 2011-06-14 Microsoft Corporation Partial item change tracking and synchronization
EP1755046A1 (de) * 2005-08-17 2007-02-21 Deutsche Post AG Verfahren und Anordnung von Vorrichtungen zur Bereitstellung von Daten mehrerer Datensysteme an wenigstens einem Client
US7600186B2 (en) * 2005-10-07 2009-10-06 Oracle International Corporation Generating a synonym dictionary representing a mapping of elements in different data models
US20070112827A1 (en) * 2005-11-10 2007-05-17 International Business Machines Corporation Abstract rule sets
US8001077B2 (en) * 2005-12-14 2011-08-16 International Business Machines Corporation Distributed method for synchronizing and updating bookmarks on multiple computer devices
CN100373384C (zh) * 2006-04-03 2008-03-05 西安理工大学 远程数据库的可靠下载与本地数据库的使用无冲突的方法
US8370479B2 (en) 2006-10-03 2013-02-05 Axeda Acquisition Corporation System and method for dynamically grouping devices based on present device conditions
US10019501B2 (en) * 2006-12-18 2018-07-10 International Business Machines Corporation Data store synchronization utilizing synchronization logs
US8065397B2 (en) 2006-12-26 2011-11-22 Axeda Acquisition Corporation Managing configurations of distributed devices
US7756845B2 (en) * 2006-12-28 2010-07-13 Yahoo! Inc. System and method for learning a weighted index to categorize objects
US7809696B2 (en) * 2006-12-28 2010-10-05 Sap, Ag System and method for matching similar master data using associated behavioral data
US20080162728A1 (en) * 2007-01-03 2008-07-03 Microsoft Corporation Synchronization protocol for loosely coupled devices
KR20080071334A (ko) * 2007-01-30 2008-08-04 (주) 애니모비 2차원 코드의 판독부를 가지는 모바일 단말기로의 매체콘텐츠 전송 시스템 및 그 방법
US20080183576A1 (en) * 2007-01-30 2008-07-31 Sang Hun Kim Mobile service system and method using two-dimensional coupon code
US7899917B2 (en) * 2007-02-01 2011-03-01 Microsoft Corporation Synchronization framework for occasionally connected applications
US8478861B2 (en) * 2007-07-06 2013-07-02 Axeda Acquisition Corp. Managing distributed devices with limited connectivity
US8260230B2 (en) * 2007-08-31 2012-09-04 Clear Channel Management Services, Inc. Radio receiver and method for receiving and playing signals from multiple broadcast channels
US8615531B2 (en) 2007-09-28 2013-12-24 Xcerion Aktiebolag Programmatic data manipulation
US20090150181A1 (en) * 2007-12-07 2009-06-11 Roche Diagnostics Operations, Inc. Method and system for personal medical data database merging
US20090150451A1 (en) * 2007-12-07 2009-06-11 Roche Diagnostics Operations, Inc. Method and system for selective merging of patient data
US8181111B1 (en) 2007-12-31 2012-05-15 Synchronoss Technologies, Inc. System and method for providing social context to digital activity
US9128946B2 (en) * 2007-12-31 2015-09-08 Mastercard International Incorporated Systems and methods for platform-independent data file transfers
US20110112961A1 (en) * 2008-10-30 2011-05-12 Frank Stokes Duplicate Payments Suspect Review Workstation
US8078582B2 (en) * 2009-04-06 2011-12-13 Microsoft Corporation Data change ordering in multi-log based replication
US8108343B2 (en) * 2009-04-23 2012-01-31 Microsoft Corporation De-duplication and completeness in multi-log based replication
US8255006B1 (en) 2009-11-10 2012-08-28 Fusionone, Inc. Event dependent notification system and method
US8874523B2 (en) * 2010-02-09 2014-10-28 Google Inc. Method and system for providing efficient access to a tape storage system
US9305069B2 (en) * 2010-02-09 2016-04-05 Google Inc. Method and system for uploading data into a distributed storage system
US8615485B2 (en) * 2010-02-09 2013-12-24 Google, Inc. Method and system for managing weakly mutable data in a distributed storage system
US8380659B2 (en) * 2010-02-09 2013-02-19 Google Inc. Method and system for efficiently replicating data in non-relational databases
US8862617B2 (en) * 2010-02-09 2014-10-14 Google Inc. System and method for replicating objects in a distributed storage system
US8352424B2 (en) 2010-02-09 2013-01-08 Google Inc. System and method for managing replicas of objects in a distributed storage system
US20110196900A1 (en) * 2010-02-09 2011-08-11 Alexandre Drobychev Storage of Data In A Distributed Storage System
US8671074B2 (en) 2010-04-12 2014-03-11 Microsoft Corporation Logical replication in clustered database system with adaptive cloning
CN101807210B (zh) * 2010-04-26 2015-04-01 中兴通讯股份有限公司 一种数据库间数据同步的方法、***及设备
US8805783B2 (en) 2010-05-27 2014-08-12 Microsoft Corporation Synchronization of subsets of data including support for varying set membership
US8943428B2 (en) 2010-11-01 2015-01-27 Synchronoss Technologies, Inc. System for and method of field mapping
WO2012068124A2 (en) * 2010-11-16 2012-05-24 Gazit Group Usa, Inc. Mobile digital property portfolio management system
US9396220B2 (en) 2014-03-10 2016-07-19 Oracle International Corporation Instantaneous unplug of pluggable database from one container database and plug into another container database
US10635674B2 (en) 2012-09-28 2020-04-28 Oracle International Corporation Migrating a pluggable database between database server instances with minimal impact to performance
US10860605B2 (en) 2012-09-28 2020-12-08 Oracle International Corporation Near-zero downtime relocation of a pluggable database across container databases
US9197700B2 (en) * 2013-01-18 2015-11-24 Apple Inc. Keychain syncing
US9614932B2 (en) 2013-03-14 2017-04-04 Microsoft Technology Licensing, Llc Managing and implementing web application data snapshots
US10152500B2 (en) 2013-03-14 2018-12-11 Oracle International Corporation Read mostly instances
JP5954738B2 (ja) * 2013-03-19 2016-07-20 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ファイルのバックアップの処理を行うコンピュータ、システム、方法およびプログラム
US9558232B1 (en) * 2013-06-21 2017-01-31 EMC IP Holding Company LLC Data movement bulk copy operation
US9830372B2 (en) * 2013-07-24 2017-11-28 Oracle International Corporation Scalable coordination aware static partitioning for database replication
US9767178B2 (en) 2013-10-30 2017-09-19 Oracle International Corporation Multi-instance redo apply
EP3061011B1 (en) * 2013-11-19 2022-09-28 Huawei Technologies Co., Ltd. Method for optimizing index, master database node and subscriber database node
US9390120B1 (en) 2013-12-31 2016-07-12 Google Inc. System and methods for organizing hierarchical database replication
CN105446653B (zh) 2014-08-27 2018-12-14 阿里巴巴集团控股有限公司 一种数据合并方法和设备
WO2016032803A1 (en) * 2014-08-27 2016-03-03 Alibaba Group Holding Limited Dynamic load-based merging
US10860604B1 (en) 2014-12-10 2020-12-08 Amazon Technologies, Inc. Scalable tracking for database udpates according to a secondary index
CN106156094B (zh) * 2015-04-01 2019-09-17 阿里巴巴集团控股有限公司 一种数据库的远程数据同步方法和装置
US10606578B2 (en) 2015-10-23 2020-03-31 Oracle International Corporation Provisioning of pluggable databases using a central repository
US10579478B2 (en) 2015-10-23 2020-03-03 Oracle International Corporation Pluggable database archive
US10803078B2 (en) 2015-10-23 2020-10-13 Oracle International Corporation Ability to group multiple container databases as a single container database cluster
US10747752B2 (en) 2015-10-23 2020-08-18 Oracle International Corporation Space management for transactional consistency of in-memory objects on a standby database
EP3365808B1 (en) 2015-10-23 2021-08-25 Oracle International Corporation Proxy databases
US11068437B2 (en) 2015-10-23 2021-07-20 Oracle Interntional Corporation Periodic snapshots of a pluggable database in a container database
US10572551B2 (en) 2015-10-23 2020-02-25 Oracle International Corporation Application containers in container databases
US10789131B2 (en) 2015-10-23 2020-09-29 Oracle International Corporation Transportable backups for pluggable database relocation
US10360269B2 (en) 2015-10-23 2019-07-23 Oracle International Corporation Proxy databases
US11657037B2 (en) 2015-10-23 2023-05-23 Oracle International Corporation Query execution against an in-memory standby database
US10635658B2 (en) 2015-10-23 2020-04-28 Oracle International Corporation Asynchronous shared application upgrade
US10698771B2 (en) 2016-09-15 2020-06-30 Oracle International Corporation Zero-data-loss with asynchronous redo shipping to a standby database
US10936559B1 (en) 2016-09-28 2021-03-02 Amazon Technologies, Inc. Strongly-consistent secondary index for a distributed data set
US10891291B2 (en) 2016-10-31 2021-01-12 Oracle International Corporation Facilitating operations on pluggable databases using separate logical timestamp services
US11475006B2 (en) 2016-12-02 2022-10-18 Oracle International Corporation Query and change propagation scheduling for heterogeneous database systems
US10359954B2 (en) 2017-05-31 2019-07-23 Alibaba Group Holding Limited Method and system for implementing byte-alterable write cache
US10691722B2 (en) 2017-05-31 2020-06-23 Oracle International Corporation Consistent query execution for big data analytics in a hybrid database
US10229003B2 (en) 2017-06-16 2019-03-12 Alibaba Group Holding Limited Method and system for iterative data recovery and error correction in a distributed system
US11940990B1 (en) 2017-06-16 2024-03-26 Amazon Technologies, Inc. Global clock values for consistent queries to replicated data
US10884926B2 (en) 2017-06-16 2021-01-05 Alibaba Group Holding Limited Method and system for distributed storage using client-side global persistent cache
US10303241B2 (en) 2017-06-19 2019-05-28 Alibaba Group Holding Limited System and method for fine-grained power control management in a high capacity computer cluster
US11314717B1 (en) 2017-06-23 2022-04-26 Amazon Technologies, Inc. Scalable architecture for propagating updates to replicated data
US10564856B2 (en) 2017-07-06 2020-02-18 Alibaba Group Holding Limited Method and system for mitigating write amplification in a phase change memory-based storage device
US10678443B2 (en) 2017-07-06 2020-06-09 Alibaba Group Holding Limited Method and system for high-density converged storage via memory bus
US10423508B2 (en) 2017-08-11 2019-09-24 Alibaba Group Holding Limited Method and system for a high-priority read based on an in-place suspend/resume write
US10303601B2 (en) 2017-08-11 2019-05-28 Alibaba Group Holding Limited Method and system for rearranging a write operation in a shingled magnetic recording device
US10496829B2 (en) 2017-09-15 2019-12-03 Alibaba Group Holding Limited Method and system for data destruction in a phase change memory-based storage device
US10642522B2 (en) 2017-09-15 2020-05-05 Alibaba Group Holding Limited Method and system for in-line deduplication in a storage drive based on a non-collision hash
US10503409B2 (en) 2017-09-27 2019-12-10 Alibaba Group Holding Limited Low-latency lightweight distributed storage system
US10789011B2 (en) 2017-09-27 2020-09-29 Alibaba Group Holding Limited Performance enhancement of a storage device using an integrated controller-buffer
US11386058B2 (en) 2017-09-29 2022-07-12 Oracle International Corporation Rule-based autonomous database cloud service framework
US10860334B2 (en) 2017-10-25 2020-12-08 Alibaba Group Holding Limited System and method for centralized boot storage in an access switch shared by multiple servers
US10445190B2 (en) 2017-11-08 2019-10-15 Alibaba Group Holding Limited Method and system for enhancing backup efficiency by bypassing encoding and decoding
CN107797820B (zh) * 2017-11-13 2021-03-23 北京百度网讯科技有限公司 用于生成补丁的方法和装置
US10877898B2 (en) 2017-11-16 2020-12-29 Alibaba Group Holding Limited Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements
US10891239B2 (en) 2018-02-07 2021-01-12 Alibaba Group Holding Limited Method and system for operating NAND flash physical space to extend memory capacity
US10496548B2 (en) 2018-02-07 2019-12-03 Alibaba Group Holding Limited Method and system for user-space storage I/O stack with user-space flash translation layer
US10831404B2 (en) 2018-02-08 2020-11-10 Alibaba Group Holding Limited Method and system for facilitating high-capacity shared memory using DIMM from retired servers
US10402112B1 (en) 2018-02-14 2019-09-03 Alibaba Group Holding Limited Method and system for chunk-wide data organization and placement with real-time calculation
WO2019222958A1 (en) 2018-05-24 2019-11-28 Alibaba Group Holding Limited System and method for flash storage management using multiple open page stripes
US11816043B2 (en) 2018-06-25 2023-11-14 Alibaba Group Holding Limited System and method for managing resources of a storage device and quantifying the cost of I/O requests
US10921992B2 (en) 2018-06-25 2021-02-16 Alibaba Group Holding Limited Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency
US10871921B2 (en) 2018-07-30 2020-12-22 Alibaba Group Holding Limited Method and system for facilitating atomicity assurance on metadata and data bundled storage
US10747673B2 (en) 2018-08-02 2020-08-18 Alibaba Group Holding Limited System and method for facilitating cluster-level cache and memory space
US10996886B2 (en) 2018-08-02 2021-05-04 Alibaba Group Holding Limited Method and system for facilitating atomicity and latency assurance on variable sized I/O
US11327929B2 (en) 2018-09-17 2022-05-10 Alibaba Group Holding Limited Method and system for reduced data movement compression using in-storage computing and a customized file system
US10852948B2 (en) 2018-10-19 2020-12-01 Alibaba Group Holding System and method for data organization in shingled magnetic recording drive
US10795586B2 (en) 2018-11-19 2020-10-06 Alibaba Group Holding Limited System and method for optimization of global data placement to mitigate wear-out of write cache and NAND flash
US10769018B2 (en) 2018-12-04 2020-09-08 Alibaba Group Holding Limited System and method for handling uncorrectable data errors in high-capacity storage
US10977122B2 (en) 2018-12-31 2021-04-13 Alibaba Group Holding Limited System and method for facilitating differentiated error correction in high-density flash devices
US10884654B2 (en) 2018-12-31 2021-01-05 Alibaba Group Holding Limited System and method for quality of service assurance of multi-stream scenarios in a hard disk drive
US11061735B2 (en) 2019-01-02 2021-07-13 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
US11132291B2 (en) 2019-01-04 2021-09-28 Alibaba Group Holding Limited System and method of FPGA-executed flash translation layer in multiple solid state drives
US11200337B2 (en) 2019-02-11 2021-12-14 Alibaba Group Holding Limited System and method for user data isolation
US10922234B2 (en) 2019-04-11 2021-02-16 Alibaba Group Holding Limited Method and system for online recovery of logical-to-physical mapping table affected by noise sources in a solid state drive
US10908960B2 (en) 2019-04-16 2021-02-02 Alibaba Group Holding Limited Resource allocation based on comprehensive I/O monitoring in a distributed storage system
US11169873B2 (en) 2019-05-21 2021-11-09 Alibaba Group Holding Limited Method and system for extending lifespan and enhancing throughput in a high-density solid state drive
US10860223B1 (en) 2019-07-18 2020-12-08 Alibaba Group Holding Limited Method and system for enhancing a distributed storage system by decoupling computation and network tasks
US11126561B2 (en) 2019-10-01 2021-09-21 Alibaba Group Holding Limited Method and system for organizing NAND blocks and placing data to facilitate high-throughput for random writes in a solid state drive
US11042307B1 (en) 2020-01-13 2021-06-22 Alibaba Group Holding Limited System and method for facilitating improved utilization of NAND flash based on page-wise operation
US11449455B2 (en) 2020-01-15 2022-09-20 Alibaba Group Holding Limited Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility
US10923156B1 (en) 2020-02-19 2021-02-16 Alibaba Group Holding Limited Method and system for facilitating low-cost high-throughput storage for accessing large-size I/O blocks in a hard disk drive
US10872622B1 (en) 2020-02-19 2020-12-22 Alibaba Group Holding Limited Method and system for deploying mixed storage products on a uniform storage infrastructure
US11150986B2 (en) 2020-02-26 2021-10-19 Alibaba Group Holding Limited Efficient compaction on log-structured distributed file system using erasure coding for resource consumption reduction
US11144250B2 (en) 2020-03-13 2021-10-12 Alibaba Group Holding Limited Method and system for facilitating a persistent memory-centric system
US11200114B2 (en) 2020-03-17 2021-12-14 Alibaba Group Holding Limited System and method for facilitating elastic error correction code in memory
US11385833B2 (en) 2020-04-20 2022-07-12 Alibaba Group Holding Limited Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources
US11281575B2 (en) 2020-05-11 2022-03-22 Alibaba Group Holding Limited Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks
US11494115B2 (en) 2020-05-13 2022-11-08 Alibaba Group Holding Limited System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC)
US11461262B2 (en) 2020-05-13 2022-10-04 Alibaba Group Holding Limited Method and system for facilitating a converged computation and storage node in a distributed storage system
US11218165B2 (en) 2020-05-15 2022-01-04 Alibaba Group Holding Limited Memory-mapped two-dimensional error correction code for multi-bit error tolerance in DRAM
US11507499B2 (en) 2020-05-19 2022-11-22 Alibaba Group Holding Limited System and method for facilitating mitigation of read/write amplification in data compression
US11556277B2 (en) 2020-05-19 2023-01-17 Alibaba Group Holding Limited System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification
US11263132B2 (en) 2020-06-11 2022-03-01 Alibaba Group Holding Limited Method and system for facilitating log-structure data organization
US11422931B2 (en) 2020-06-17 2022-08-23 Alibaba Group Holding Limited Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization
US11354200B2 (en) 2020-06-17 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating data recovery and version rollback in a storage device
US11354233B2 (en) 2020-07-27 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating fast crash recovery in a storage device
US11372774B2 (en) 2020-08-24 2022-06-28 Alibaba Group Holding Limited Method and system for a solid state drive with on-chip memory integration
US11250022B1 (en) 2020-09-29 2022-02-15 Amazon Technologies, Inc. Offline index builds for database tables
US11880385B1 (en) 2020-09-29 2024-01-23 Amazon Technologies, Inc. Ordering updates to secondary indexes using conditional operations
US11487465B2 (en) 2020-12-11 2022-11-01 Alibaba Group Holding Limited Method and system for a local storage engine collaborating with a solid state drive controller
US11734115B2 (en) 2020-12-28 2023-08-22 Alibaba Group Holding Limited Method and system for facilitating write latency reduction in a queue depth of one scenario
US11416365B2 (en) 2020-12-30 2022-08-16 Alibaba Group Holding Limited Method and system for open NAND block detection and correction in an open-channel SSD
US11726699B2 (en) 2021-03-30 2023-08-15 Alibaba Singapore Holding Private Limited Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification
US11461173B1 (en) 2021-04-21 2022-10-04 Alibaba Singapore Holding Private Limited Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement
US11476874B1 (en) 2021-05-14 2022-10-18 Alibaba Singapore Holding Private Limited Method and system for facilitating a storage server with hybrid memory for journaling and data storage
US12008014B2 (en) 2021-07-30 2024-06-11 Oracle International Corporation Data guard at PDB (pluggable database) level

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4645873A (en) 1985-01-23 1987-02-24 Telecue Systems Transactional telecommunication system
US4648036A (en) 1985-03-06 1987-03-03 At&T Bell Laboratories Method for controlling query and update processing in a database system
US4887204A (en) * 1987-02-13 1989-12-12 International Business Machines Corporation System and method for accessing remote files in a distributed networking environment
JP2532148B2 (ja) 1990-01-19 1996-09-11 富士通株式会社 インテリジェント・ネットワ―クにおけるデ―タベ―ス管理方式
EP0522488B1 (en) * 1991-07-10 2002-02-20 Hitachi, Ltd. Method of sorting on distributed database system and method of accessing thereto
US5276901A (en) 1991-12-16 1994-01-04 International Business Machines Corporation System for controlling group access to objects using group access control folder and group identification as individual user
JP2583010B2 (ja) * 1993-01-07 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 多層インデックス構造におけるローカルインデックステーブル及び大域インデックステーブルの間の一貫性を維持する方法
DE4497149B4 (de) * 1993-09-24 2005-02-10 Oracle Corp., Redwood City Computerbezogenes Verfahren zur Datenreplikation in Peer-to-Peer-Umgebung
US5630124A (en) * 1993-12-06 1997-05-13 International Business Machines Corporation System and method for assuring atomicity of distributed update requests in a parallel database
DE4403614A1 (de) * 1994-02-05 1995-08-10 Philips Patentverwaltung Kommunikationssystem mit einem verteilten Datenbanksystem
US5687363A (en) 1994-03-30 1997-11-11 Siemens Stromberg-Carlson Distributed database architecture and distributed database management system for open network evolution
US5835757A (en) * 1994-03-30 1998-11-10 Siemens Telecom Networks Distributed database management system for servicing application requests in a telecommunications switching system
US5490270A (en) * 1994-06-16 1996-02-06 International Business Machines Corporation Simultaneous updates to the modification time attribute of a shared file in a cluster having a server and client nodes
US5625811A (en) * 1994-10-31 1997-04-29 International Business Machines Corporation Method and system for database load balancing
US5491820A (en) 1994-11-10 1996-02-13 At&T Corporation Distributed, intermittently connected, object-oriented database and management system
US5729730A (en) * 1995-03-28 1998-03-17 Dex Information Systems, Inc. Method and apparatus for improved information storage and retrieval system
US5649195A (en) 1995-05-22 1997-07-15 International Business Machines Corporation Systems and methods for synchronizing databases in a receive-only network
US5752042A (en) * 1996-06-07 1998-05-12 International Business Machines Corporation Server computer for selecting program updates for a client computer based on results of recognizer program(s) furnished to the client computer
US5924094A (en) * 1996-11-01 1999-07-13 Current Network Technologies Corporation Independent distributed database system
US5870761A (en) * 1996-12-19 1999-02-09 Oracle Corporation Parallel queue propagation

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10740323B1 (en) 2013-03-15 2020-08-11 Nuodb, Inc. Global uniqueness checking in distributed databases
US11561961B2 (en) 2013-03-15 2023-01-24 Nuodb, Inc. Global uniqueness checking in distributed databases
US11176111B2 (en) 2013-03-15 2021-11-16 Nuodb, Inc. Distributed database management system with dynamically split B-tree indexes
US10282247B2 (en) 2013-03-15 2019-05-07 Nuodb, Inc. Distributed database management system with node failure detection
US11016956B2 (en) 2013-04-08 2021-05-25 Nuodb, Inc. Database management system with database hibernation and bursting
US10037348B2 (en) 2013-04-08 2018-07-31 Nuodb, Inc. Database management system with database hibernation and bursting
US10884869B2 (en) 2015-04-16 2021-01-05 Nuodb, Inc. Backup and restore in a distributed database utilizing consistent database snapshots
US10180954B2 (en) 2015-05-29 2019-01-15 Nuodb, Inc. Disconnected operation within distributed database systems
US11222008B2 (en) 2015-05-29 2022-01-11 Nuodb, Inc. Disconnected operation within distributed database systems
US11314714B2 (en) 2015-05-29 2022-04-26 Nuodb, Inc. Table partitioning within distributed database systems
US10067969B2 (en) 2015-05-29 2018-09-04 Nuodb, Inc. Table partitioning within distributed database systems
US12001420B2 (en) 2015-05-29 2024-06-04 Nuodb, Inc. Disconnected operation within distributed database systems
US11573940B2 (en) 2017-08-15 2023-02-07 Nuodb, Inc. Index splitting in distributed databases

Also Published As

Publication number Publication date
EP1114375A4 (en) 2006-05-10
IL142058A (en) 2005-12-18
WO2000016222A1 (en) 2000-03-23
UA65638C2 (ru) 2004-04-15
JP2003522344A (ja) 2003-07-22
ZA200102717B (en) 2002-06-26
CA2344542A1 (en) 2000-03-23
BR9913844A (pt) 2002-01-15
EA200100363A1 (ru) 2001-10-22
AU6153299A (en) 2000-04-03
IL142058A0 (en) 2002-03-10
AU755292B2 (en) 2002-12-12
EP1114375A1 (en) 2001-07-11
MXPA01002852A (es) 2003-06-06
US6226650B1 (en) 2001-05-01

Similar Documents

Publication Publication Date Title
EA002931B1 (ru) Система и способ синхронизации и организации баз данных
US7801850B2 (en) System of and method for transparent management of data objects in containers across distributed heterogenous resources
CA2139693C (en) Summary catalogs
US5911141A (en) On-line hierarchical form records identification
US5664170A (en) Flexible distributed network database containing configuration information for a network divided into domains
US6243705B1 (en) Method and apparatus for synchronizing information on two different computer systems
US6349311B1 (en) Storage of reverse delta updates
US10838935B2 (en) Automating the logging of table changes in a database
JP4278299B2 (ja) 通信システム及び方法
US6044381A (en) Using distributed history files in synchronizing databases
US5819272A (en) Record tracking in database replication
US7483882B1 (en) Dynamic management of multiple persistent data stores
US20130110873A1 (en) Method and system for data storage and management
US20010016853A1 (en) Method and apparatus for synchronizing information on two different computer systems
US20060143187A1 (en) Integrating tablespaces with different block sizes
JP2004511854A (ja) データ処理の方法及び装置
US20010018692A1 (en) Database system, method for forming replica of database, and computer-readable recording medium that records database replica forming program
US20040107201A1 (en) Method, system and program product for mapping data fields between a data source and a data target
JP2000259474A (ja) 異なるデータファイルを調停する方法
US6519610B1 (en) Distributed reference links for a distributed directory server system
US20040193655A1 (en) Journal obtaining-distributing apparatus, journal obtaining-distributing method, and program used to direct computer to use method thereof
KR20010000136A (ko) 대용량 서지정보 검색 서비스 시스템
JPH09297702A (ja) 情報処理装置及びシステム及びその制御方法
KR100583011B1 (ko) 통신 시스템 및 방법
JP2003233517A (ja) 文書管理システム、文書管理サーバ、ディレクトリサーバ、クライアント端末及びプログラム

Legal Events

Date Code Title Description
MM4A Lapse of a eurasian patent due to non-payment of renewal fees within the time limit in the following designated state(s)

Designated state(s): AM AZ BY KZ KG MD TJ TM

MM4A Lapse of a eurasian patent due to non-payment of renewal fees within the time limit in the following designated state(s)

Designated state(s): RU