EA006045B1 - Способ и система для обновления удаленной базы данных - Google Patents

Способ и система для обновления удаленной базы данных Download PDF

Info

Publication number
EA006045B1
EA006045B1 EA200400612A EA200400612A EA006045B1 EA 006045 B1 EA006045 B1 EA 006045B1 EA 200400612 A EA200400612 A EA 200400612A EA 200400612 A EA200400612 A EA 200400612A EA 006045 B1 EA006045 B1 EA 006045B1
Authority
EA
Eurasian Patent Office
Prior art keywords
update
periodic
last
transaction
identifier
Prior art date
Application number
EA200400612A
Other languages
English (en)
Other versions
EA200400612A1 (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=26987480&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=EA006045(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Верисайн, Инк. filed Critical Верисайн, Инк.
Publication of EA200400612A1 publication Critical patent/EA200400612A1/ru
Publication of EA006045B1 publication Critical patent/EA006045B1/ru

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2315Optimistic concurrency control
    • 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/23Updating
    • G06F16/2358Change logging, detection, and notification
    • 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/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • 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/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5018Thread allocation
    • 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/953Organization of data
    • Y10S707/959Network
    • 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/964Database arrangement
    • Y10S707/966Distributed
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Probability & Statistics with Applications (AREA)
  • Fuzzy Systems (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Small-Scale Networks (AREA)
  • Selective Calling Equipment (AREA)

Abstract

Заявлены способ и система для обновления удаленной базы данных (210) через сеть. Формируется множество периодических обновлений, называемых файлами отправки (300-F), основанных на добавочных изменениях в локальной базе данных (200). Каждое из периодических обновлений содержит по меньшей мере одну транзакцию. Формируется инициализирующее обновление, называемое инициализирующим файлом отправки, содержащее версию локальной базы данных в момент времени запуска. Дополнительно формируются идентификатор, соответствующий последнему периодическому обновлению, сформированному до момента времени запуска, и идентификатор, соответствующий последней транзакции, завершенной до момента времени запуска.

Description

Притязание на приоритет/перекрестная ссылка на связанные заявки
Данное изобретение заявляет приоритет предварительной заявки на патент США с регистрационным номером 60/330.842 от 1 ноября 2001 года, полностью включенной в настоящее описание посредством ссылки, и предварительной заявки на патент США с регистрационным номером 60/365.169 от 19 марта 2002 года, полностью включенной в настоящее описание посредством ссылки.
Область техники
Настоящее изобретение относится к компьютерным базам данных, более конкретно к способу и системе для достоверного обновления базы данных.
Предшествующий уровень техники
С увеличением размера баз данных и в результате их сильно распределенной структуры становится все в большей степени проблематичным обеспечение одинаковых версий данных в связанных базах данных. Если происходят существенные изменения в одной базе данных, то может потребоваться обновление других баз данных для включения указанных изменений в кратчайшие сроки. Осуществление таких обновлений может повлечь частое перемещение больших объемов данных обновления в несколько баз данных. Потенциально такой процесс может быть чрезвычайно сложным.
Указанная проблема дополнительно сочетается с ненадежной связью в системах. В этом случае данные могут быть потеряны при транспортировке. При этом требуется повторная передача данных, и другие базы данных вновь обновляются. Такое повторение существенно снижает эффективность системы и уменьшает область, в которой базы данных содержат новейшие данные.
Краткое описание чертежей
Фиг. 1 - структурная схема системы согласно варианту осуществления настоящего изобретения.
Фиг. 2 - структурная схема системы концентратора согласно варианту осуществления настоящего изобретения.
Фиг. 3 иллюстрирует возможную передачу обновлений базы данных из локальной базы данных в удаленную базу данных согласно варианту осуществления настоящего изобретения.
Фиг. 4 изображает файл отправки согласно варианту осуществления настоящего изобретения.
Фиг. 5 изображает инициализирующий файл отправки согласно варианту осуществления настоящего изобретения.
Фиг. 6 - временная диаграмма, иллюстрирующая формирование файла отправки и инициализирующего файла отправки, согласно варианту осуществления настоящего изобретения.
Фиг. 7 - блок-схема варианта осуществления настоящего изобретения, в котором могут быть сформированы файлы обновления локальной базы данных.
Фиг. 8 - блок-схема варианта осуществления настоящего изобретения, в котором удаленная база данных может получать файлы обновления из локальной базы данных.
Фиг. 9 - блок-схема другого варианта осуществления настоящего изобретения, в котором удаленная база данных может получать файлы обновления из локальной базы данных и проверять их достоверность.
Фиг. 10А - блок-схема варианта осуществления настоящего изобретения, в котором может быть проверена достоверность файлов обновления.
Фиг. 10В - блок-схема другого варианта осуществления настоящего изобретения, в котором может быть проверена достоверность файлов обновления.
Фиг. 11 - иллюстрация проверки достоверности файла обновления согласно варианту осуществления настоящего изобретения.
Подробное описание предпочтительных вариантов осуществления
Варианты осуществления настоящего изобретения обеспечивают способ и систему для достоверного обновления удаленной базы данных через сеть связи. Согласно вариантам осуществления формируется несколько периодических обновлений (далее по тексту файл отправки), основанных на добавочных изменениях в локальной базе данных. Каждое из периодических обновлений содержит по меньшей мере одну транзакцию. Формируется инициализирующее обновление (далее по тексту инициализирующий файл отправки), содержащее версию локальной базы данных в момент времени запуска. Дополнительно формируются идентификатор, соответствующий последнему периодическому обновлению, сформированному перед моментом времени запуска, и идентификатор, соответствующий последней транзакции, завершенной до момента времени запуска. Варианты осуществления преимущественно обеспечивают автономизацию файлов отправки и инициализирующего файла отправки для достоверного обновления удаленных баз данных.
Фиг. 1 - структурная схема, иллюстрирующая систему, согласно варианту осуществления настоящего изобретения. В основном, система 100 может содержать большую резидентную базу данных, через сеть связи получать запросы на поиск и обеспечивать ответы по поиску. Например, система 100 может представлять собой симметричный многопроцессорный (§МР) компьютер, например такой, как ΙΒΜ К.§/6000®М80 или §80, производимый компанией ΙΒΜ (Агтопк, штат Нью-Йорк), §ип Еп1егрп8е™10000, производимый §ип М|сго5у51еш5 (§ап1а С1ага, штат Калифорния), и т.д. Система 100 также может представлять собой многопроцессорный персональный компьютер, например такой, как СотрадРгоЫап1™МЕ530
- 1 006045 (имеющий два процессора 1п!е1 Реи!шт® III, 866 МГц), производимый компанией НеМе!!-Раекаг6 (Ра1о Л11о, штат Калифорния). Система 100 может также содержать многопроцессорную операционную систему, например такую, как !ВМ ЛК® 4, 8ии 8о1ап5™ 8 Орегайид Еиупоитеи!, Кеб На! ΜΝυΧ® 6.2, и т.д. Система 100 может получать через сеть 124 связи периодические обновления, которые могут параллельно включаться в базу данных. Варианты осуществления настоящего изобретения могут достигать очень высокой производительности обновления и поиска по базе данных посредством включения каждого обновления в базу данных без использования блокировок базы данных или средств управления доступом.
В варианте осуществления система 100 может содержать по меньшей мере один процессор 102-1, подсоединенный к шине 101. Процессор 102-1 может содержать внутренний кэш (например, кэш Ь1 не изображен). Между процессором 102-1 и шиной 101 может быть резидентно размещен кэш 103-1 вторичной памяти (например, кэш Ь2, кэши Ь2/Е3 и т.д.). В предпочтительном варианте осуществления система 100 может содержать несколько процессоров 102-1 - 102-Р, подсоединенных к шине 101. Между несколькими процессорами 102-1 - 102-Р и шиной 101 также может быть резидентно размещено несколько кэшей 103-1 - 103-Р вторичной памяти (например, архитектура сквозного просмотра), или, в виде другого варианта, к шине 101 может быть подсоединен по меньшей мере один кэш 103-1 вторичной памяти (например, архитектура с предысторией). Система 100 может содержать память 104, например такую, как оперативное запоминающее устройство (ОЗУ) и т.д., подсоединенную к шине 101 для хранения информации и инструкций, которые должны выполняться несколькими процессорами 102-1 - 102-Р.
Память 104 может хранить большую базу данных, например, для преобразования имен доменов Интернет в адреса в Интернет, для преобразования имен или номеров телефонов в сетевые адреса, для обеспечения и обновления данных профиля абонента, для обеспечения и обновления данных присутствия пользователя и т. д. Преимущественно, размер базы данных и количество преобразований в секунду могут быть очень большими. Например, память 104 может содержать, по меньшей мере, 64 Гб ОЗУ и может содержать базу данных имен доменов в 500М (то есть 500х106) записей, базу данных абонентов в 500М записей, базу данных мобильности номеров телефонов в 450М записей и т.д.
В возможной архитектуре 64-битной системы, например такой, как система, содержащая по меньшей мере один 64-битный процессор 102-1 с обратным порядком байтов, подсоединенный, по меньшей мере, к 64-битной шине 101, и 64-битную память 104, 8-байтовое значение указателя может быть записано в адрес (ячейки) памяти на границе 8-байтов (то есть адрес памяти, делимый на 8 или, например, 8Ν) с использованием одиночной непрерываемой операции. В основном, наличие кэша 103-1 вторичной памяти может просто задерживать запись 8-байтового указателя в память 104. Например, в одном варианте осуществления кэшем 103-1 вторичной памяти может быть кэш сквозного просмотра, действующий в режиме сквозной записи так, чтобы одиночная команда сохранения 8-байтов могла перемещать 8 байтов данных из процессора 102-1 в память 104 без прерывания и всего только за два такта системных часов. В другом варианте осуществления кэшем 103-1 вторичной памяти может быть кэш сквозного просмотра, действующий в режиме обратной записи так, чтобы 8-байтовый указатель мог быть сначала записан в кэш 103-1 вторичной памяти, который затем, в более позднее время, может записать 8-байтовый указатель в память 104, например, при записи в память 104 строки кэша, в которой хранится 8-байтовый указатель (то есть, например, когда «сбрасывается в память» определенная строка кэша или полностью кэш вторичной памяти).
В конечном счете, с точки зрения процессора 102-1, как только данные фиксируются выходными контактами процессора 102-1, все 8 байтов данных записываются в память 104 в одной непрерывной, непрерываемой передаче, которая может быть задержана действиями кэша 103-1 вторичной памяти, если он имеется в наличии. С точки зрения процессоров 102-2 - 102-Р, как только данные фиксируются выходными контактами процессора 102-1, все 8 байтов данных записываются в память 104 в одной непрерывной, непрерываемой передаче, которая предписана протоколом согласованности кэша по кэшам 103-1 - 103-Р вторичной памяти, которые могут задерживать запись в память 104, если имеются в наличии.
Однако если 8-байтовое значение указателя записывается в невыровненную ячейку памяти 104, например адрес памяти, который пересекает границу 8-байтов, то все 8 байтов данных не могут быть переданы из процессора 102-1 с использованием одиночной команды сохранения 8-байтов. Вместо этого процессор 102-1 может выдать две разные и отдельные команды сохранения. Например, если адрес памяти начинается за 4 байта до границы 8-байтов (например, 8Ν-4), то первая команда сохранения передает в память 104 4 старших байта (например, 8Ν-4), в то время как вторая команда сохранения передает в память 104 4 младших байта (например, 8Ν). Существенно, что между этими двумя отдельными командами сохранения процессор 102-1 может получить прерывание или процессор 102-1 может освободить управление шиной 101 для другого компонента системы (например, процессора 102-Р и т.д.). Следовательно, значение указателя, резидентно находящееся в памяти 104, будет недействительным, пока процессор 102-1 не сможет завершить вторую команду сохранения. Если другой компонент начинает одиночное непрерываемое считывание памяти в эту ячейку памяти, то недействительное значение будет возвращено, как предположительно действительное.
Аналогично, новое 4-байтовое значение указателя может быть записано в адрес памяти, делимый на 4 (например, 4Ν), с использованием одиночной непрерываемой операции. Следует отметить, что в воз
- 2 006045 можном варианте, описанном выше, 4-байтовое значение указателя может быть записано в ячейку памяти 8Ν-4 с использованием одиночной команды сохранения. Безусловно, если 4-байтовое значение указателя записывается в ячейку, пересекающую границу 4-байтов, например, 4Ν-2, то все 4 байта данных не могут быть переданы из процессора 102-1 с использованием одиночной команды сохранения и значение указателя, резидентно размещенное в памяти 104, может быть недействительным в течение некоторого периода времени.
Система 100 также может содержать постоянное запоминающее устройство (ПЗУ) 106 или другие статические запоминающие устройства, подсоединенные к шине 101, для хранения статической информации и инструкций для процессора 102-1. Для хранения информации и команд к шине 101 может быть подсоединено запоминающее устройство 108, такое как магнитный или оптический диск. Система 100 также может содержать устройство 110 отображения (например, монитор на жидких кристаллах БСО (ЖДК)) и устройство 112 ввода данных (например, клавиатуру, мышь, шаровой указатель и т.д.), подсоединенные к шине 101. Система 100 может содержать несколько сетевых интерфейсов 114-1 - 114-0, которые могут передавать и принимать электрические, электромагнитные или оптические сигналы, несущие потоки цифровых данных, представляющие различные виды информации. В варианте осуществления сетевой интерфейс 114-1 может быть подсоединен к шине 101 и к локальной сети связи ΕΆΝ (ЛС) 122, в то же время сетевой интерфейс 114-0 может быть подсоединен к шине 101 и глобальной сети связи \νΛΝ (ГС) 124. Несколько сетевых интерфейсов 114-1 - 114-0 могут поддерживать разные сетевые протоколы, включая, например, СфаЬб Е1йегпе! (например, ΙΕΕΕ Стандарт 802.3-2002, изданный в 2002), ИЬег Сйаппе1 (например, ΑΝ8Ι Стандарт Х.3230-1994, изданный в 1994) и т.д. К ЛС 122 и ГС 124 может быть подсоединено несколько сетевых компьютеров 120-1 - 120-Ν. В одном варианте осуществления ЛС 122 и ГС 124 могут быть физически отдельными сетями связи, в то же время в другом варианте осуществления ЛС 122 и ГС 124 могут быть соединены через сетевой шлюз или маршрутизатор (для ясности не изображены). В качестве другого варианта, ЛС 122 и ГС 124 может быть одной и той же сетью связи.
Как отмечено выше, система 100 может обеспечивать услуги разрешения ΌΝ8 (служба имен доменов). В варианте осуществления для разрешения (процесса определения адресов) ΌΝ8 услуги разрешения ΌΝ8, в основном, могут быть разделены между транспортировкой по сети и функциями поиска данных. Например, система 100 может быть механизмом поиска (БИЕ) для сервера, оптимизированным для поиска данных по большим наборам данных, в то же время множество сетевых компьютеров 120-1 - 120-Ν могут быть множеством механизмов протокола (РЕ) клиента, оптимизированными для обработки сети связи и транспортировки. БИЕ может быть мощным многопроцессорным сервером, который хранит в памяти 104 весь набор записей ΌΝ8, чтобы способствовать высокоскоростному высокопроизводительному поиску и обновлению. В другом варианте осуществления услуги разрешения ΌΝ8 могут обеспечиваться множеством мощных многопроцессорных серверов или множеством БИЕ, каждый из которых хранит в памяти подмножество всего набора записей ΌΝ8, чтобы способствовать высокоскоростному высокопроизводительному поиску и обновлению.
Напротив, множество РЕ могут быть обычными узкоспециализированными устройствами, основанными на РС, выполняющими эффективную многозадачную операционную систему (например, Леб На! МХИХ' 6.2), которые минимизируют транспортную нагрузку обработки сети связи на БИЕ для максимизации доступных ресурсов для разрешения ΌΝ8. Устройства РЕ могут обрабатывать нюансы протокола ΌΝ8 проводной линии связи, реагировать на недействительные запросы ΌΝ8 и мультиплексировать действительные запросы ΌΝ8 в БИЕ через ЛС 122. В другом варианте осуществления, содержащем множество БИЕ, хранящих подмножества записей ΌΝ8, РЕ могут определять, какое устройство БИЕ должно получить каждый действительный запрос ΌΝ8, и мультиплексировать действительные запросы ΌΝ8 в соответствующие БИЕ. Количество РЕ для одного БИЕ может определяться, например, количеством запросов ΌΝ8, которое должно обрабатываться в секунду, и рабочими характеристиками конкретной системы. Для определения отношений соответствия и режимов также могут использоваться другие показатели.
В общем случае, могут поддерживаться другие варианты осуществления большого объема, основанные на запросах, включающие, например, разрешение номеров телефонов, обработку сигнализации 887, определение для геолокации, установление соответствия номера телефона с абонентом, определение местоположения и присутствия абонента и т.д.
В варианте осуществления центральный сервер 140-1 оперативной обработки транзакций (0БТР) может быть подсоединен к ГС 124 и получать из разных источников добавления, изменения и удаления (то есть график обновления) для базы данных 142-1. 0БТР сервер 140-1 может передавать обновления через ГС 124 в систему 100, которая содержит локальную копию базы данных 142-1. 0БТР сервер 140-1 может быть оптимизирован для обработки графика обновления в различных форматах и протоколах, включая, например, Протокол Передачи Гипертекстовых файлов (НТТР), Протокол Регистратора Записи (ЛЛР), Наращиваемый Протокол Инициализации (ЕРР), Систему Управления Службами/Механизированный Общий Интерфейс (ΜΟΙ) 800 и другие оперативные протоколы инициализации. Совокупность БИЕ только для чтения может быть развернута в архитектуре типа концентратора и спицы (линии, идущей от
- 3 006045 центра к периферии) для обеспечения возможности высокоскоростного поиска, сопровождаемого объемными добавочными обновлениями из ОЬТР сервера 140-1.
В альтернативном варианте осуществления данные могут быть распределены по нескольким ОЬТР серверам 140-1 - 140-8, каждый из которых может быть подсоединен к ГС 124. ОЬТР сервера 140-1 - 140-8 могут получать из разных источников добавления, изменения и удаления (то есть график обновления) для соответствующих им баз данных 142-1 - 142-8 (не изображены для ясносги). ОЬТР сервера 140-1 140-8 могуг передавать обновления через ГС 124 в систему 100, которая может содержать копии баз данных 142-1 - 142-8, другие динамически создаваемые данные и т.д. Например, в варианте осуществления для геолокации ОЬТР сервера 140-1 - 140-8 могут получать график обновления из групп удаленных датчиков. В другом альтернативном варианте осуществления множество сетевых компьютеров 120-1 - 120-Ν также может получать через ГС 124 или ЛС 122 добавления, изменения и удаления (то есть график обновления) из разных источников. В этом варианте осуществления множесгво сетевых компьютеров 120-1 120-Ν могуг передавагь в систему 100 обновления, а также запросы.
В варианте осуществления разрешения ΌΝ8 каждый РЕ (например, каждый из множества сетевых компьютеров 120-1 - 120-Ν) может комбинировать, или мультиплексировать, несколько сообщений запросов ΌΝ8, полученных через глобальную сеть связи (например, ГС 124), в одиночный Суперпакет Запроса и передавать Суперпакет Запроса через локальную сеть связи (например, ЛС 122) в ЬИЕ (например, систему 100). ЬИЕ может комбинировать, или мультиплексировать, несколько ответов на сообщения-запросы ΌΝ8 в одиночный Суперпакет Ответа и передавать Суперпакет Ответа через локальную сеть связи в соответствующий РЕ. В основном, максимальный размер Суперпакета Ответа или Запроса может быть ограничен максимальным блоком передачи (МТИ) физического сетевого уровня (например, СщаЬй Е111сгпс1). Например, стандартные размеры сообщения запроса и ответа ΌΝ8, не превышающие 100 байтов и 200 байтов соответственно, позволяют мультиплексировать более 30 запросов в одиночный Суперпакет Запроса, а также мультиплексировать более 15 ответов в одиночный Суперпакет Ответа. Однако в одиночный Суперпакет Запроса может быть включено меньшее количество запросов (например, 20 запросов), чтобы при формировании ответа избежать переполнения МТИ (например, в 10 ответов). Для МТИ большего размера количество мультиплексированных запросов и ответов соответственно может быть увеличено.
Каждый многозадачный РЕ может иметь входящий поток и исходящий поток для управления запросами и ответами ΌΝ8 соответственно. Например, входящий поток может демаршалинговать (распаковывать) компоненты запроса ΌΝ8 из входящих пакетов запросов ΌΝ8, полученных через глобальную сеть связи, и мультиплексировать несколько миллисекунд запросов в одиночный Суперпакет Запроса. Затем входящий поток может передавать Суперпакет Запроса через локальную сеть связи в ЬИЕ. Обратно, исходящий поток может получать Суперпакет Ответа из ЬИЕ, демультиплексировать содержащиеся в нем ответы и маршалинговать (упаковывать в стандартный формат) различные поля в действительный ответ ΌΝ8, который затем может быть передан через глобальную сеть связи. В основном, как отмечено выше, могут поддерживаться другие варианты осуществления большого объема, основанные на запросах.
В варианте осуществления Суперпакет Запроса может также содержать информацию о состоянии, соответствующую каждому запросу ΌΝ8, например такую, как исходный адрес, вид протокола и т.д. ЬИЕ может включать в Суперпакет Ответа информацию о состоянии и соответствующие ответы ΌΝ8. Затем каждый РЕ может формировать и возвращать сообщения действительных ответов ΌΝ8 с использованием информации, переданной из ЬИЕ. Следовательно, каждый РЕ может, преимущественно, функционировать как устройство, не меняющее своего состояния в процессе исполнения, то есть действительные ответы ΌΝ8 могут быть сформированы из информации, содержащейся в Суперпакете Ответа. В основном, ЬИЕ может возвращать Суперпакет Ответа в РЕ, из которого исходил входящий Суперпакет, однако, очевидны другие возможные варианты.
В альтернативном варианте осуществления каждый РЕ может поддерживать информацию о состоянии, соответствующую каждому запросу ΌΝ8, и включать в Суперпакет Запроса ссылку, или дескриптор, на информацию о состоянии. ЬИЕ может включать в Суперпакет Ответа ссылки на информацию о состоянии и соответствующие ответы ΌΝ8. Затем каждый РЕ может формировать и возвращать сообщения действительных ответов ΌΝ8 с использованием ссылок на информацию о состоянии, переданных из ЬИЕ, а также поддерживаемой им информации о состоянии. В этом варианте осуществления ЬИЕ может возвращать Суперпакет Ответа в РЕ, из которого исходил входящий Суперпакет.
На фиг. 2 представлена структурная схема архитектуры типа концентратора и спиц (звездообразной топологии) согласно варианту осуществления настоящего изобретения. В основном, система может содержать локальную базу данных 200 (которая может находиться в центральном ОЬТР концентраторе 140) и одну или большее количество удаленных баз данных 210 (которые могут находиться в устройствах ЬИЕ 100), соединенных с локальной базой данных 200 посредством любого механизма соединения, например Интернета или ЛС 122. Базы данных могут передавать и получать данные обновления.
Согласно фиг. 3 в вариантах осуществления настоящего изобретения локальная база данных 200 передает в удаленную базу данных 210 Е файлов 300-1 - 300-Е отправки и инициализирующий файл 310 отправки для обновления удаленной базы данных 210. Файлы обновления могут передаваться индивиду
- 4 006045 ально или в пакетах, например несколько файлов 300 отправки, один файл 300 отправки и один инициализирующий файл 310 отправки, множество файлов 300 отправки и один инициализирующий файл 310 отправки, одиночный файл 300 отправки или одиночный инициализирующий файл 310 отправки.
В варианте осуществления настоящего изобретения процессор 104 может получать из локальной базы данных 200 файл 300 отправки и/или инициализирующий файл 310 отправки, содержащий данные обновления. Система 150 может получать файл 300 отправки и инициализирующий файл 310 отправки в удаленной базе данных 210 через интерфейс 118 связи. Затем процессор 104 может сравнить данные обновления в файле 300 отправки или в инициализирующем файле 310 отправки с соответствующими данными в удаленной базе данных 210. Если в удаленной базе данных 210 данные другие, то процессор 104 может применить файл 300 отправки или инициализирующий файл 310 отправки к удаленной базе данных 210. Соответственно впоследствии удаленная база данных 210 может быть обновлена данными, соответствующими данным обновления в локальной базе данных 200.
Фиг. 4 изображает файл 300 отправки согласно варианту осуществления настоящего изобретения. Поля файла 300 могут включать в себя, например, идентификатор 400 файла, время 402 формирования файла, количество 404 транзакций N в файле, полный размер 406 файла, контрольную сумму 408 или любой подобный индикатор контроля ошибок и транзакции 410-1 - 410-Ν (содержащие идентификаторы транзакций). Указанные поля файла отправки являются возможными вариантами, предназначенными для иллюстрации, но не для ограничения контекста вариантов осуществления настоящего изобретения. В файл 300 отправки может быть включено любое поле, которое может быть полезным.
Файл 300 отправки содержит изменения в локальной базе данных 200 между двумя моментами времени. Эти изменения могут включать в себя, например, добавления новых идентификаторов (то есть идентификаторов записей данных), удаления существующих идентификаторов, изменения одной или большего количества записей данных, соответствующих идентификатору, переименование идентификатора, холостую команду и т.д. Одно или большее количество указанных изменений может производиться последовательно и может называться транзакциями. Файл 300 отправки может содержать уникальные идентификаторы этих транзакций. Транзакции могут быть записаны в файле 300 отправки в том порядке, в котором они совершены в локальной базе данных 200. Дополнительно для транзакций, содержащих более одного изменения, изменения могут быть записаны внутри транзакции в том порядке, в котором они произведены в локальной базе данных 200.
В основном, идентификаторы транзакций могут назначаться транзакциям в случайном порядке. То есть идентификаторы транзакций не обязательно монотонно возрастают во времени. Например, две последовательные транзакции могут иметь идентификаторы транзакций 10004 и следующий за ним 10002. Соответственно очередность совершения транзакции может быть определена ее размещением в текущем файле 300-Е или ее размещением в предыдущем файле 300-(Е-1). В основном, для полного завершения обновления удаленной базы данных с применением одного файла отправки транзакции не могут охватывать соседние файлы 300. Это предотвращает прерывание обновления из-за сетевой задержки, которая может привести к ошибочным данным в удаленной базе данных 210.
Фиг. 5 изображает инициализирующий файл 310 отправки согласно варианту осуществления настоящего изобретения. Поля инициализирующего файла 310 отправки могут включать в себя, например, идентификатор 500 файла, время 502 формирования файла, количество 504 транзакций N в файле, полный размер 506 файла, контрольную сумму 508 или любой подобный индикатор контроля ошибок и копию 516 (данных) полной локальной базы данных. Инициализирующий файл 310 отправки может дополнительно содержать поле 510, являющееся идентификатором 400 файла последнего файла 300 отправки, сформированного до формирования файла 310, и поле 512, являющееся идентификатором последней транзакции, фиксированной в локальной базе данных 200 до формирования инициализирующего файла 310 отправки. Данные в локальной и удаленной базах данных 200, 210 могут быть распределены по таблицам, резидентно хранящимся в базах данных 200, 210. Базы данных 200, 210 могут поддерживать произвольное количество таблиц. Следовательно, когда база данных имеет таблицы, инициализирующий файл 310 отправки может содержать для каждой таблицы поле, указывающее количество записей, записанных в таблице. Например, база данных имен доменов может содержать таблицу доменов и таблицу серверов доменных имен. Следовательно, инициализирующий файл отправки может содержать поле, указывающее количество записей в таблице доменов, и поле, указывающее количество записей в таблице серверов доменных имен. Поле может определять, например, имя таблицы, ключ, используемый для индексирования записей в таблице, и количество записей в таблице. Дополнительно инициализирующий файл 310 отправки может содержать поле, которое указывает версию инициализирующего файла 310 отправки, обычно 1.0. Указанные поля инициализирующего файла отправки являются возможными вариантами, предназначенными для иллюстрации, но не ограничения, контекста вариантов осуществления настоящего изобретения. В инициализирующий файл 310 отправки может быть включено любое поле, которое может быть полезным.
Как отмечено выше, инициализирующий файл 310 отправки может содержать, например, копию полной локальной базы данных 200, унифицированную по считыванию данных. Инициализирующий файл 310 отправки может стать унифицированным с локальной базой данных 200 в момент времени 1
- 5 006045 между 15 и ίί, где ίδ является временем начала формирования инициализирующего файла 310 отправки, а ίί является временем завершения формирования. По существу, единственной операцией, которая может появиться в инициализирующем файле 310 отправки, является операция добавления. То есть при формировании инициализирующего файла 310 отправки в него могут быть записаны копии полной локальной базы данных 200 в момент времени ί. Следовательно, для записи локальной базы данных 200 в инициализирующий файл 310 отправки может быть выполнена операция добавления. Идентификаторы могут быть записаны в инициализирующий файл 310 отправки в случайном порядке. В другом варианте, при наличии внешних идентификаторов записи данных, на которые имеются ссылки, могут быть записаны до записи данных, имеющей ссылку.
Добавление полей 510 и 512 может обеспечивать инициализирующий файл 310 отправки некоторой информацией о файлах 300 отправки, которые могут быть сформированы и переданы в удаленную базу данных 210 во время формирования инициализирующего файла 310 отправки. Однако формирование файла 300 отправки и формирование инициализирующего файла 310 отправки могут быть не связаны друг с другом в отношении отсутствия зависимости между ними при формировании. Такая структура и процесс могут предотвратить менее эффективный подход, при котором формирование и применение файла отправки может быть приостановлено до завершения формирования инициализирующего файла отправки. При продолжении формирования и применения файлов 300 отправки во время формирования инициализирующего файла 310 отправки, как в варианте осуществления настоящего изобретения, может осуществляться строгий контроль ошибок файлов 300 отправки, а также наложение ограничений на удаленную базу данных 210, например могут быть сделаны ограничения в отношении однозначности или ограничения на внешние идентификаторы. Наложение ограничений может защищать целостность данных в удаленной базе данных 210 посредством отклонения транзакций, нарушающих реляционные модели удаленной базы данных 210. Например, ограничение в отношении однозначности может препятствовать повторному сохранению в базе данных 210 одного и того же ключа.
На фиг. 6 представлена временная диаграмма, иллюстрирующая формирование файла отправки и инициализирующего файла отправки, согласно варианту осуществления настоящего изобретения. Согласно фиг. 6 файлы 300 отправки (с δί-1 по δί-21) формируются с регулярными интервалами времени. В альтернативном варианте осуществления файлы 300 отправки могут формироваться с нерегулярными интервалами времени. В общем случае формирование файла отправки не занимает интервал времени полностью. Например, если файлы формируются в 5-минутные интервалы времени, то для завершения формирования файла не требуется полностью 5 мин. Дополнительно, если в локальной базе данных 200 производятся изменения во время формирования файла 300 отправки, то эти изменения будут собраны в следующем файле 300 отправки. Например, если формирование файла отправки δί-4 начинается в 12:05:00 и завершается в 12:05:02, то любые изменения в локальной базе данных 200, произведенные между 12:05:00 И 12:05:02, собираются в файл отправки δί-5 (например, 300-5), который охватывает интервал времени с 12:05:00 до 12:10:00.
Фиг. 6 иллюстрирует файлы 300-5 и 300-19 отправки. В указанных файлах, среди других полей, изображены идентификатор 601 файла (δί-5, δί-19), время 603 формирования файла и идентификаторы 605 транзакций (например, 10002). Следует отметить, что идентификаторы транзакций могут быть не упорядоченными монотонно. Как упомянуто выше, идентификаторы транзакций могут иметь произвольные значения. Однако непосредственно соответствующие транзакции записаны в файл 300 отправки в порядке, в котором они совершены в локальной базе данных 200.
Так как формирование инициализирующего файла 310 отправки и формирование файла 300 отправки могут быть не связаны, то инициализирующий файл 310 отправки может формироваться в любой момент времени. Например, инициализирующий файл 310 отправки может формироваться до, в течение или после формирования файла 300 отправки. Фиг. 6 иллюстрирует инициализирующий файл 310 отправки, формируемый в промежутке времени между формированием четвертого и пятого файлов отправки (например, δί-4 и δί-5).
В варианте осуществления инициализирующий файл 310 отправки может среди других полей содержать идентификатор 610 файла (ίδί-1), идентификатор 615 файла для последнего файла отправки, сформированного перед формированием инициализирующего файла отправки, и идентификатор 620 транзакции для последней транзакции, завершенной перед формированием инициализирующего файла отправки. В данном возможном варианте последним сформированным файлом отправки является файл отправки δί-4, а последней завершенной транзакцией является транзакция 10001. Формирование инициализирующего файла 310 отправки начинается 611 в 12:07:29. Когда начинается формирование инициализирующего файла 310 отправки, первая половина транзакций в файле 300-5 отправки (δί-5), транзакции 10002, 10005 и 10001 были уже завершены в локальной базе данных 200. Соответственно инициализирующий файл 310 отправки может иметь информацию об этих транзакциях и может собрать эти транзакции в инициализирующем файле 310 отправки. Однако инициализирующий файл 310 отправки не может иметь информации о последующих транзакциях 10003 и 10004, которые совершаются после начала формирования инициализирующего файла отправки.
- 6 006045
При формировании инициализирующего файла 310 отправки файлы отправки, начиная с файла 3005 отправки, могут продолжать формироваться с регулярными интервалами времени. Эти файлы могут передаваться удаленной базе данных 210 и применяться.
Формирование инициализирующего файла 310 отправки может быть завершено в 1:15:29, в промежутке времени между формированием 18-го и 19-го файлов 300 отправки (§£-18 и 51-19). и не может воздействовать на формирование 19-го файла 300-19 отправки.
После получения и загрузки в удаленной базе данных 210 инициализирующего файла 310 отправки удаленная база данных 210 может не учитывать файлы отправки, сформированные до формирования инициализирующего файла 310 отправки. Это возможно, например, по причине того, что инициализирующий файл 310 отправки содержит все изменения в локальной базе данных 200, которые были записаны в предыдущие файлы 300 отправки. В этом возможном варианте удаленной базе данных 210 может не потребоваться учитывать файлы отправки с первого по четвертый (с §1-1 по 51-4). Изменения, записанные в этих файлах отправки, с 51-1 по §£-4, также могут быть записаны в инициализирующем файле 310 отправки. Указанные предыдущие файлы отправки (с 51-1 по 51-4) могут быть удалены или, в другом варианте, заархивированы.
Аналогично, удаленная база данных 210 может не учитывать транзакции, завершенные до формирования инициализирующего файла 310 отправки, которые были включены в файл 300 отправки, сформированный впоследствии. Эти транзакции могут быть включены в инициализирующий файл 310 отправки при его формировании. Например, поэтому удаленной базе данных 210 может не потребоваться учитывать первые три транзакции 10002, 10005, 10001 из файла отправки 51-5. Эти транзакции, записанные в файл отправки 51-5, могут также быть записаны в инициализирующем файле 310 отправки. Данные завершенные транзакции могут быть удалены или, в другом варианте, заархивированы.
На фиг. 7 представлена блок-схема варианта осуществления настоящего изобретения, в котором могут быть сформированы файлы обновления локальной базы данных. Система может формировать (705) несколько периодических обновлений, основанных на добавочных изменениях в локальной базе данных. Каждое обновление может содержать одну или большее количество транзакций. Затем система может передать (710) периодические обновления в удаленную базу данных. При формировании периодических обновлений система может начать формировать (715) инициализирующее обновление в момент времени запуска. Инициализирующее обновление может содержать версию полной локальной базы данных. Система может определить (720) последнее периодическое обновление, сформированное до момента времени запуска, и последнюю транзакцию, завершенную до момента времени запуска. Затем система может передать (725) инициализирующее обновление в удаленную базу данных. Инициализирующее обновление может содержать идентификатор обновления, соответствующий последнему сформированному периодическому обновлению, и идентификатор транзакции, соответствующий последней завершенной транзакции.
Например, ОЬТР 140 может формировать (705) файлы 300 отправки с некоторым регулярным или нерегулярным интервалом времени. Затем ОЬТР 140 может передать (710) файлы 300 отправки в удаленную базу данных 210. При формировании файлов 300 отправки ОЬТР 140 может начать формирование (715) инициализирующего файла 310 отправки в момент времени 611 запуска. Инициализирующий файл 310 отправки может содержать копию полной локальной базы данных 200. Затем ОЬТР 140 может определить (720) последний файл 300 отправки, сформированный до момента времени 611 запуска для формирования инициализирующего файла 310 отправки, и последнюю транзакцию, завершенную до момента времени 611 запуска для формирования инициализирующего файла 310 отправки. Затем ОЬТР 140 может передать (725) инициализирующий файл 310 отправки в удаленную базу данных 210. Инициализирующий файл 310 отправки может содержать идентификатор 615 файла отправки, соответствующий последнему сформированному файлу 300 отправки, и идентификатор транзакции 620, соответствующий последней завершенной транзакции.
На фиг. 8 представлена блок-схема варианта осуществления настоящего изобретения, в котором удаленная база данных может получать файлы обновлений из локальной базы данных. Система может получить (805) несколько периодических обновлений. Каждое обновление может содержать одну или большее количество транзакций. Периодические обновления могут быть получены отдельно или в пакетах. В некоторый момент времени система может получить (810) инициализирующее обновление. Инициализирующее обновление может содержать версию полной локальной базы данных. Система может считать (815) из инициализирующего обновления идентификатор последнего периодического обновления и идентификатор последней транзакции. Затем система может определить (820) последнее периодическое обновление, соответствующее идентификатору обновления, и последнюю транзакцию, соответствующую идентификатору транзакции. Периодическое обновление и транзакция могут быть соответственно последним сформированным обновлением и последней завершенной транзакцией до формирования инициализирующего обновления. Система может применить (825) к удаленной базе данных оставшиеся незавершенные транзакции в соответствующем периодическом обновлении. Затем система может применить (830) к удаленной базе данных оставшиеся периодические обновления, сформированные по
- 7 006045 сле последнего периодического обновления. Применение инициализирующего обновления преимущественно восполняет любые ранее потерянные периодические обновления.
Например, ЬиЕ 100 может получить (805) файлы 300 отправки с некоторым регулярным или нерегулярным интервалом времени. Файлы 300 отправки могут быть получены отдельно или в пакетах. В некоторый момент времени ШЕ 100 может получить (810) инициализирующий файл 310 отправки. ШЕ 100 может считать (815) из инициализирующего файла 310 отправки идентификатор 615 файла отправки и идентификатор 620 транзакции. Затем ШЕ 100 может определить (820) файл 300 отправки, соответствующий идентификатору 615 файла отправки, и транзакцию 605, соответствующую идентификатору 620 транзакции. Файл отправки и транзакция могут быть соответственно последним сформированным файлом отправки и последней завершенной транзакцией до формирования инициализирующего файла 310 отправки. ШЕ 100 может применить (825) к удаленной базе данных 210 оставшиеся незавершенные транзакции 605 в соответствующем файле 300 отправки. Затем ШЕ 100 может применить (830) к удаленной базе данных 210 оставшиеся файлы 300 отправки, которые следуют за последним файлом отправки Γ-4.
В альтернативном варианте осуществления, например, ШЕ 100 может отбросить или заархивировать файлы 300 отправки, которые не были применены к удаленной базе данных 210 и/или имеют время 603 формирования до времени 611 формирования инициализирующего файла отправки. Отброшенные или заархивированные файлы 300 отправки могут включать в себя файл отправки δΓ-4. соответствующий идентификатору 615 файла отправки.
Понятно, что после применения инициализирующего файла 310 отправки любые более поздние файлы 300 отправки, которые могли быть уже применены к удаленной базе данных 210, могут не сохраниться, так как удаленная база данных 210 может стать унифицированной по считыванию с инициализирующим файлом 310 отправки. Соответственно эти более поздние файлы 300 отправки могут быть применены повторно.
В варианте осуществления настоящего изобретения файлы 300 отправки и инициализирующий файл 310 отправки могут передаваться из локальной базы данных 200 в удаленную базу данных 210 без уведомления об успешном получении данных, то есть без сигнала АСК/ЫАСК для указания того, что файлы были успешно получены. Это преимущественно сокращает дополнительную служебную сигнализацию, которую может создавать сигнал АСК/ЫАСК.
В альтернативном варианте осуществления из удаленной базы данных 210 может передаваться сигнал АСК/ЫАСК для указания того, что файлы успешно получены. В этом варианте осуществления сигнал АСК/ЫАСК может передаваться в системах с ненадежной связью.
На фиг. 9 представлена блок-схема другого варианта осуществления настоящего изобретения, в котором система может проверять достоверность файлов обновления, переданных из локальной базы данных и полученных в удаленной базе данных. Здесь система может передать (905) множество периодических обновлений. Каждое обновление может содержать одну или большее количество транзакций. Периодические обновления могут быть переданы отдельно или в пакетах. В некоторый момент времени система может передать (910) инициализирующее обновление и применить инициализирующее обновление к удаленной базе данных. Инициализирующее обновление может содержать версию полной локальной базы данных. Сначала система, посредством сравнения баз данных, может идентифицировать (915) расхождения между локальной и удаленной базами данных. Система может определить (920), являются ли расхождения действительными или ошибочными. Затем система может применить (925) к удаленной базе данных периодические обновления согласно варианту осуществления настоящего изобретения. Этот вариант осуществления преимущественно может обеспечивать отсутствие ошибок в удаленной базе данных, являющихся результатом получения обновлений из локальной базы данных.
Например, ОЬТР 140 может передать (905) в удаленную базу данных 210 файлы 300 отправки с некоторым регулярным или нерегулярным интервалом времени. Файлы 300 отправки могут быть переданы отдельно или в пакетах. В некоторый момент времени ОЬТР 140 может передать (910) инициализирующий файл 310 отправки в ШЕ 100, и ШЕ 100 может применить инициализирующий файл 310 отправки к удаленной базе данных 210. ОЬТР 140 может сравнить локальную базу данных 200 с удаленной базой данных 210 и идентифицировать (915) расхождения между ними. Затем ОЬТР 140 может определить (920), являются ли расхождения действительными или ошибочными. Затем ОЬТР 140 может уведомить ШЕ 100 для применения (925) к удаленной базе данных 210 файлов 300 отправки согласно варианту осуществления настоящего изобретения. Затем ШЕ 100 может применить файлы 300 отправки к удаленной базе данных 210.
В альтернативном варианте осуществления система может применять файлы отправки и инициализирующий файл отправки до идентификации и проверки достоверности расхождений. В виде другого варианта система может применять файлы отправки и инициализирующий файл отправки после идентификации и проверки достоверности расхождений.
Понятно, что процесс проверки достоверности может быть выполнен на любых данных, переданных из источника в адресат через сеть связи для применения переданных данных к адресату.
- 8 006045
На фиг. 10 А представлена блок-схема варианта осуществления проверки достоверности файла отправки и инициализирующего файла отправки согласно настоящему изобретению. После передачи в удаленную базу данных нескольких периодических обновлений и инициализирующего обновления система может проверить достоверность этих обновлений. Каждое обновление может содержать одну или большее количество транзакций, выполненных в локальной базе данных. Каждая транзакция может содержать одно или большее количество событий. Событие является действием или возможным осуществлением в базе данных, например, добавления, изменения, удаления и т.д., в отношении данных в базе данных.
Сначала система может сравнить (1000) запись в удаленной базе данных с соответствующей записью в локальной базе данных. Система может сформировать (1005) исключение, описывающее расхождение между записями удаленной и локальной баз данных, причем исключение может быть сформировано для каждого расхождения. Расхождением может быть любое отличие по меньшей мере в одном значении данных между двумя версиями одной записи. Например, в локальной базе данных может быть запись данных (12345, хух.сош. 123.234.345). Соответствующая запись данных в удаленной базе данных, которая предполагается идентичной, может соответствовать (12345, аЬс.сош, 123.234.345). Соответственно во втором значении данных записи имеется расхождение. Следовательно, вариант осуществления настоящего изобретения может сформировать исключение, которое описывает указанное расхождение. Исключение может описывать расхождение, просто указывая на то, что имеется расхождение; определяя местоположение расхождения; описывая отличие между двумя значениями данных при расхождении и т.д. Запись данных в локальной базе данных соответствует записи данных в удаленной базе данных (и наоборот), если две записи обязательно содержат идентичные данные.
Понятно, что расхождение может относиться к отличию в одном или большем количестве значений данных в записи или к записи в целом.
Система может сопоставить (1010) каждому исключению идентификатор исключения, причем идентификатор исключения может соответствовать идентификатору записи. Например, запись данных (12345, ху/.сош, 123.234.345) может иметь идентификатор 610. Соответственно идентификатором исключения может быть также 610. Каждое исключение может быть классифицировано как принадлежащее любому из нескольких видов исключений (или расхождений). Может быть сформирован список исключений для включения в него видов исключений и идентификатора исключения для сгруппированных там исключений. Список исключений и различные виды исключений подробно описаны ниже. Система также может сопоставить (1015) каждому событию в обновлении идентификатор события, причем идентификатор события может соответствовать идентификатору записи. Например, запись данных (12345, ху/.сош, 123.234.345) может иметь идентификатор 610. Соответственно идентификатором события может быть также 610. Каждое событие в обновлении может быть найдено из предыстории событий. Предысторией событий может быть листинг и т.д. событий, выполненных на записях локальной базы данных за некоторый период времени. Предыстория событий подробно описана ниже.
Затем система может определить (1020), является ли обновление записи достоверным. На фиг. 10В представлена блок-схема варианта осуществления определения проверки достоверности. Это определение может быть сделано следующим образом. Может быть осуществлено сравнение (1022) каждого события с каждым исключением. Если каждое исключение подтверждено (1024) событием, то обновление может быть определено (1026) как достоверное, и данное обновление может быть применено к удаленной базе данных. Иначе, если каждое исключение не подтверждено (1024) событием, то обновление может быть определено (1028) как недостоверное, и исключения могут регистрироваться как ошибки. Исключение может быть подтвержденным, когда идентификатору исключения соответствует идентификатор события и соответствующее событие соответствует достоверной последовательности событий, соответствующих виду исключения. Достоверные последовательности подробно описаны ниже. Если исключение подтверждено, то система может удалить идентификатор исключения из списка исключений. Подтвержденное исключение может указывать, что расхождение является достоверным, например удаленная база данных еще не получила обновление, но при получении обновления действительно будет соответствовать локальной базе данных.
При проверке достоверности система может идентифицировать скрытые ошибки или сбои в периодическом и инициализирующем обновлениях. Система может обеспечивать возможность структурной и семантической корректности данных обновления, возможность успешного применения данных обновления, которое не вызывает формирования исключений или иного нежелательного останова, возможность точного обнаружения ошибок при сравнении локальной и удаленной баз данных между собой и невозможность случайного удаления значимых данных. Система может обеспечивать возможность успешного применения к удаленной базе данных периодического и инициализирующего обновлений.
Преимущественно, при проверке достоверности могут быть обнаружены многие ошибки, возникающие при попытке применения обновления к удаленной базе данных. Например, при попытке применения могут обнаруживаться ошибки централизации данных, предупреждения о том, что объект уже существует в удаленной базе данных, или предупреждения о том, что имеется нарушение внешнего идентификатора. Следовательно, после выполнения процесса проверки достоверности согласно варианту
- 9 006045 осуществления настоящего изобретения система может сделать попытку применения указанных обновлений к удаленной базе данных. Попытка может быть неуспешной, что может указывать на наличие в обновлениях дополнительных ошибок, которые делают обновление недостоверным. Соответственно, дополнительные попытки применения указанных обновлений к удаленной базе данных не могут быть сделаны.
В альтернативном варианте осуществления до выполнения проверки достоверности может быть сделана попытка применить по меньшей мере одно из обновлений. Если попытка является неуспешной, то проверка достоверности может быть опущена и обновление отброшено. С другой стороны, если попытка является успешной, то может быть выполнена проверка достоверности и достоверное обновление сохраняется, а для недостоверного обновления регистрируются расхождения.
В возможном варианте осуществления ОЬТР 140 может осуществлять проверку достоверности файлов 300 отправки и инициализирующих файлов 310 отправки для обеспечения успешного применения к удаленной базе данных 210 файлов 300 отправки и инициализирующих файлов 310 отправки.
В альтернативных вариантах осуществления проверку валидности могут выполнять сетевые компьютеры 121, ЕЛЕ 100 или любая комбинация существующих систем.
Согласно фиг. 10 А ОЬТР 140 может сравнить локальную базу данных 200 и удаленную базу данных 210 для определения любых исключений (или расхождений) между ними. Исключения могут включать три вида: в удаленной базе данных 210 могут существовать данные, которые отсутствуют в локальной базе данных 200; в локальной базе данных 200 могут существовать данные, которые отсутствуют в удаленной базе данных 210; или соответствующие данные могут существовать и в локальной базе данных 200, и в удаленной базе данных 210, но данные могут отличаться. Безусловно, соответствующие данные могут существовать и в локальной базе данных 200, и в удаленной базе данных 210, и данные могут быть идентичными, в этом случае данные могут считаться достоверными, следовательно от ОЬТР 140 не требуется никакой дополнительной обработки.
Понятно, что расхождение может относиться к одному или большему количеству значений данных в записи или к записи в целом.
Соответственно ОЬТР 140 может сравнить (1000) соответствующие записи в локальной базе данных 200 и удаленной базе данных 210. ОЬТР 140 может сформировать (1005) исключение, которое описывает расхождение между записью в удаленной базе данных 210 и записью в локальной базе данных 200, причем исключение может быть сформировано для каждого расхождения. ОЬТР 140 может сопоставить (1010) каждому исключению идентификатор исключения, причем идентификатор исключения может соответствовать идентификатору записи. Может быть сформирован список исключений для включения видов исключений и идентификатора исключения для исключения, принадлежащего к данному виду исключения. В варианте осуществления исключение может быть определено как исключение (или расхождение) Списка 1, если исключение принадлежит к первому виду исключений, исключение Списка 2, если исключение принадлежит ко второму виду исключений, или исключение Списка 3, если исключение принадлежит к третьему виду исключений. Фиг. 11 изображает возможный список 1140 исключений.
Понятно, что наличие идентификатора исключения в списке исключений не означает, что файл 300 отправки или инициализирующий файл 310 отправки не пригоден, так как, например, все три вида исключений могут возникать обоснованно из-за задержки во времени между изменениями в локальной базе данных 200 и обновлениями, применяемыми к удаленной базе данных 310. Такая задержка, например, может быть вызвана перегрузкой сети связи. По существу, проверка достоверности может обеспечивать механизм для исключения обоснованных исключений из ошибочных данных.
Для инициализирующего файла 310 отправки ОЬТР 140 может сравнить локальную базу данных 200 и удаленную базу данных 210 посредством выполнения двунаправленного просмотра всех таблиц в обеих базах данных 200, 210. То есть все данные в локальной базе данных 200 могут сравниваться относительно всех данных в удаленной базе данных 210. Затем все данные в удаленной базе данных 210 могут сравниваться относительно всех данных в локальной базе данных 200. Это преимущественно обеспечивает всестороннее сравнение баз данных 200, 210 для обнаружения всех расхождений.
Для файла 300 отправки ОЬТР 140 может сравнить только те записи данных в локальной базе данных 200 и удаленной базе данных 210, которые записаны в файле 300 отправки. Это преимущественно обеспечивает быстродействующий запрос для обнаружения заданных расхождений.
В другом варианте может быть произведена случайная выборка данных в инициализирующем файле 310 отправки и/или файле 300 отправки. Затем ОЬТР 140 может сравнить данные, выбранные случайным образом, в локальной базе данных 200 и удаленной базе данных 210.
Список 1140 исключений может соответствовать отсутствующим событиям, например добавления (абб), изменения (шоб) и удаления (бе1) для локальной базы данных 200, которые не согласуются с удаленной базой данных 210. Следовательно, для идентификации таких событий-кандидатов ОЬТР 140 может исследовать последние транзакции, фиксированные в локальной базе данных 200. В основном, в таблице регистрации, которая хранится в локальной базе данных 200, может быть сформирован элемент для каждой фиксированной транзакции. Элемент может содержать идентификатор записи, которая была
- 10 006045 изменена, транзакцию (или событие), изменившую запись (например, абб, шоб и/или бе1), порядковый номер регистрации, указывающий очередность транзакции, и т.д.
Возможная таблица 1100 регистрации изображена на фиг. 11. В этом возможном варианте файл 300 отправки содержит транзакции 1108-1114, изображенные в таблице регистрации 1100. Первый элемент 1101 указывает, что в первой транзакции 1108 данные (сервера доменных имен) п1 и п2 были добавлены к данным (домен), соответствующим идентификатору б1. Следовательно, идентификатором является б1, событием является добавление абб, а порядковым номером регистрации является 11526. Аналогично, второй элемент 1102 указывает, что во второй транзакции 1109 данные п8 и п9 были добавлены к данным, соответствующим идентификатору б2. Третий элемент 1103 указывает, что в третьей транзакции 1110 данные, соответствующие идентификатору б3, были удалены. Четвертый элемент 1104 указывает, что в четвертой транзакции 1111 данные, соответствующие идентификатору б1, были изменены для добавления данных п5. Для пятой транзакции 1112 пятый элемент 1105 указывает, что данные п6 и п7 были добавлены к данным, соответствующим идентификатору б3. Для шестой транзакции 1113 шестой элемент 1106 указывает, что данные, соответствующие идентификатору б4, были изменены для удаления данных п3. Кый элемент 1107 в Кой транзакции 1114 указывает, что данные, соответствующие идентификатору б5, были удалены.
Соответственно, согласно фиг. 10 А ОЬТР 140 может сопоставить (1015) каждому событию в обновлении идентификатор события, причем идентификатор события может соответствовать идентификатору записи. Каждое событие в обновлении может быть найдено из предыстории событий. Предыстория событий, индексированная и упорядоченная по идентификатору события, может быть сформирована из таблицы 1100 регистрации. Возможная предыстория 1120 событий изображена на фиг. 11. Здесь первый и четвертый элементы 1101, 1104 в таблице 1100 регистрации указывают изменения для данных, соответствующих идентификатору б1. Следовательно, предыстория 1120 событий содержит идентификатор
1121 и два события 1126, добавление абб и последующее изменение тоб, выполненные на данных, соответствующих идентификатору б1. Второй элемент 1102 указывает изменения для данных, соответствующих идентификатору б2. Следовательно, предыстория 1120 событий содержит идентификатор
1122 и событие 1127 добавления абб. Предыстория 1120 событий содержит идентификатор б3 1123 и два события 1128, удаление бе1 с последующим изменением тоб, указываемые третьим и пятым элементами 1103, 1105, которые содержат изменения для данных, соответствующих идентификатору б3. Шестой элемент 1106 указывает изменения для данных, соответствующих идентификатору б4. Соответственно предыстория 1120 событий содержит идентификатор б4 1124 и событие 1129 изменения тоб. Кый элемент 1107 указывает изменения для данных, соответствующих идентификатору б5, и предыстория 1120 событий содержит идентификатор б5 1125 и событие 1130 удаления бе1. Идентификаторы 11211125 упорядочены с б1 по б5.
Согласно фиг. 10А ОЬТР 140 может определить (1020), является ли обновление достоверным. Это определение может быть выполнено, например, согласно варианту осуществления по фиг. 10В. Сначала ОЬТР 140 может сравнить (1022) идентификаторы 1121-1125 событий с идентификаторами 1140 исключений для определения, какие идентификаторы имеют соответствия. Например, согласно фиг. 11 идентификатор 1121 события б1 в хронологии 1120 событий соответствует идентификатору исключения б1 в Списке 2 списка 1140 исключений. После обнаружения соответствующих события и исключения ОЬТР 140 может определить (1024), подтверждено ли исключение событием. Подтверждение может быть выполнено следующим образом. Для каждого идентификатора 1121-1125 события в хронологии 1120 событий ОЬТР 140 может определить, является ли достоверной каждая последовательность событий 11261130 в хронологии 1120 событий. Это может быть сделано, например, путем исследования списка 1140 исключений для того, чтобы определить, к какому виду исключений принадлежит каждый идентификатор исключения, определения, какой должна быть достоверная последовательность событий для этого вида исключений, и затем поиска в предыстории 1120 событий соответствующего идентификатора события и последовательности событий для идентификатора события. Достоверные последовательности для каждого вида исключений подробно описаны ниже. Если последовательность событий 1126-1130 в хронологии 1120 событий соответствует достоверной последовательности, то соответствующий идентификатор события 1121-1125 имеет достоверную последовательность. По существу, исключение, соответствующее идентификатору исключения, может быть подтверждено. И соответствующая транзакция 11081114, содержащая указанный идентификатор события, является обоснованной, а не ошибочной. В этом случае ОЬТР 140 может удалить идентификатор исключения из списка 1140 исключений.
Для вида исключений Списка 1 достоверной последовательностью событий может быть (тоб)*(бе1). Эта последовательность может содержать последовательность из нулевого или большего количества событий изменения тоб, за которыми следует событие удаления бе1, за которым следует произвольное событие. Вид исключений Списка 1 может соответствовать данным, которые могут существовать в удаленной базе данных 210, но отсутствовать в локальной базе данных 200. В этом случае данные, возможно, были недавно удалены из локальной базы данных 200 и транзакция еще не была записана в файл 300 отправки. Следовательно, файл 300 отправки еще не мог быть применен к удаленной базе данных 210. Значит эти данные могут еще оставаться в удаленной базе данных 210. Это может считаться обосно
- 11 006045 ванным расхождением, так как предполагается, что в некоторый момент времени файл 300 отправки будет сформирован и применен к удаленной базе данных 210. Итак, если для идентификатора исключения в Списке 1 из списка 1140 исключений в хронологии 1120 событий обнаружена любая такая последовательность 1126-1130, то соответствующая транзакция может считаться достоверной.
Например, согласно фиг. 11 идентификатор 65 1125 и соответствующие ему данные были удалены из локальной базы данных 200, как иллюстрирует Кый элемент 1114 таблицы 1100 регистрации и указывает хронология 1120 событий. Во время проверки достоверности 65 был удален из локальной базы данных 200, но не удален из удаленной базы данных 210. Итак, список 1140 исключений содержит идентификатор 65 в Списке 1. Согласно хронологии 1120 событий событием 1130, соответствующим идентификатору 65 1125, является удаление 6е1. ОЬТР 140 может сравнить достоверную последовательность вида исключений Списка 1, то есть (то6)*(6е1), с событием 65 1130 в хронологии 1120 событий. Так как достоверная последовательность Списка 1 и событие 1130 соответствуют, то транзакция 1114 удаления, соответствующая идентификатору 65, может считаться обоснованной и не является ошибкой. Соответственно идентификатор 65 может быть удален из списка 1140 исключений.
Достоверной последовательностью событий для вида исключений Списка 2 может быть (а66). Эта последовательность может содержать событие добавления а66, за которым следует произвольное событие. Вид исключений Списка 2 может соответствовать данным, которые существуют в локальной базе данных 200, но не существуют в удаленной базе данных 210. В этом случае данные могли быть недавно добавлены в локальную базу данных 200 и транзакция еще не была записана в файл 300 отправки. Следовательно, файл 300 отправки мог быть еще не применен к удаленной базе данных 210. Итак, данные могут не существовать в удаленной базе данных 210. Это также может считаться обоснованным расхождением, так как ожидается, что в некоторый момент времени файл 300 отправки будет сформирован и применен к удаленной базе данных 210. Соответственно, если для идентификатора исключения в Списке 2 из списка 1140 исключений обнаружена любая такая последовательность 1126-1130 в хронологии 1120 событий, то соответствующая транзакция может считаться достоверной.
Согласно фиг. 11 идентификаторы 61 и 62 1121, 1123 могут быть сопоставлены данным, которые, например, первоначально были добавлены в локальную базу данных 200. Так как последовательности событий 1126, 1127 для них начинаются с события добавления а66, то идентификаторы 61 и 62 1121, 1123 соответствуют достоверным последовательностям для вида исключений Списка 2. Соответственно транзакции 1108, 1109, содержащие указанные идентификаторы, могут считаться достоверными, и идентификаторы 61 и 62 могут быть удалены из списка 1140 исключений. Следует отметить, что идентификатор 63 1123 также в своей последовательности 1128 содержит событие добавления «а66». Однако событие добавления «а66» не является первым в последовательности 1128. Соответственно последовательность 1128 не относится к виду Списка 2. Дополнительно, так как 63 не обозначен в Списке 2 списка 1140 исключений, то ОЬТР 140 не может осуществить его проверку по достоверной последовательности для Списка 2.
Достоверными последовательностями событий для вида исключений Списка 3 могут быть (6е1), (а66) или (то6). Эти последовательности могут содержать событие удаления 6е1, за которым следует событие добавления а66, за которым следует произвольное событие, или событие изменения то6, за которым следует произвольное событие. Вид исключений Списка 3 может соответствовать данным, которые существуют в обеих базах данных 200, 210, но отличны. В этом случае данные могли быть недавно изменены в локальной базе данных 200 и транзакция еще не была записана в файл 300 отправки. Следовательно, файл 300 отправки еще не мог быть применен к удаленной базе данных 210. Следовательно, данные, соответствующие идентификатору, могут быть еще не изменены в удаленной базе данных 210. Вновь это может считаться обоснованным расхождением, так как ожидается, что в некоторый момент времени файл 300 отправки будет сформирован и применен к удаленной базе данных 210. Соответственно, если для идентификатора исключения в Списке 3 из списка 1140 исключений обнаружена любая такая последовательность 1126-1130 в хронологии 1120 событий, то соответствующая транзакция может считаться достоверной.
Например, согласно фиг. 11 идентификаторы 63 и 64 1123, 1124 могут быть сопоставлены данным, которые были изменены в локальной базе данных 200. В случае идентификатора 63 1123, идентификатор 63 1123 и его данные первоначально был удален, а затем добавлен обратно с новыми данными, так что последовательность событий 1128 может содержать удаление 6е1, за которым следует добавление а66. В случае идентификатора 64 1124, данные 64 были изменены для удаления данных, так что последовательность событий 1129 может содержать изменение то6. Так как указанные последовательности событий 1128, 1129 соответствуют достоверным последовательностям для вида исключений Списка 3, то соответствующие им транзакции 1110, 1112, 1113 могут считаться достоверными и идентификаторы 63 и 64 могут быть удалены из списка 1140 исключений.
Согласно фиг. 10В, если все исключения, обозначенные в списке 1140 исключений своими идентификаторами, были обоснованы (1024) событиями, например, если список 1140 исключений является пустым, то ОЬТР 140 может определить (1026) файл 300 отправки или инициализирующий файл 310 отправки как достоверный и уведомить ЬиЕ 100 для применения файла 300 отправки или инициализи- 12 006045 рующего файла 310 отправки к удаленной базе данных 210. Затем ЬиЕ 100 может применить файл 300 отправки или инициализирующий файл 310 отправки к удаленной базе данных 210.
И наоборот, если все исключения не были подтверждены (1024) событиями, например, если список 1140 исключений не является пустым, то оставшиеся исключения могут указывать на ошибки в файле 300 отправки или инициализирующем файле 310 отправки. Соответственно ОЬТР 140 может определить (1028) файл 300 отправки или инициализирующий файл 310 отправки как недостоверный и зарегистрировать ошибки в файле ошибок.
В альтернативном варианте осуществления, если, например, файл 300 отправки или инициализирующий файл 310 отправки был определен как недостоверный, то после предварительно определенного периода времени ОЬТР 140 может повторить процесс проверки достоверности в отношении недостоверного файла 300 отправки или инициализирующего файла 310 отправки для подтверждения того, что расхождения действительно являются ошибками. Указанная предварительно определенная задержка обеспечивает сети большее время для передачи какого-либо медленного файла 300, 310 отправки и большее время на то, чтобы базы данных 200, 210 стали унифицированным по считыванию.
В варианте осуществления настоящего изобретения данные в удаленной базе данных 210 могут отставать от данных в локальной базе данных 200 на значительный интервал времени. Соответственно для сравнения баз данных 200, 210 и для обнаружения ошибок базы данных 200, 210 могут быть сделаны унифицированными по считыванию в тот момент времени, когда они станут точными копиями друг друга. В основном, удаленная база данных 210 может быть приведена с повтором всех завершенных транзакций к локальной базе данных 200, причем данные в удаленной базе данных 210 могут быть сделаны, по существу, идентичными данным в локальной базе данных 200.
Соответственно, для ускорения проверки достоверности любой сформированный в текущее время инициализирующий файл 310 отправки и последующие файлы 300 отправки могут быть применены к удаленной базе данных 210 до начала проверки достоверности. По существу, количество расхождений может быть существенно уменьшено. Такая пакетная обработка файлов 300, 310 отправки может быть определена как образование блоков. Первый и последний из этих файлов 300, 310 отправки в блоке может быть назван нижним и верхним «водяным знаком» соответственно. Первый блок, называемый начальным блоком, может содержать инициализирующий файл 310 отправки. Все последующие блоки, называемые конечными блоками, могут содержать только файлы 300 отправки.
Образование блоков может обеспечивать проверку достоверности группы вместо проверки достоверности в отдельности. Соответственно при обнаружении в блоке ошибки недостоверным может быть обозначен весь блок, а не только файл 300 отправки или инициализирующий файл 310 отправки, где возникла ошибка.
Механизмы и способы, соответствующие вариантам осуществления настоящего изобретения, могут быть реализованы с использованием универсального микропроцессора, запрограммированного согласно вариантам осуществления. Следовательно, варианты осуществления настоящего изобретения также включают носитель информации, считываемый компьютером, который может содержать инструкции, которые могут использоваться для программирования процессора для выполнения способа, соответствующего вариантам осуществления настоящего изобретения. Указанный носитель может включать в себя любой вид диска, включая гибкий диск, оптический диск, компакт-диски СБ-КОМ и т.д.
Выше подробно описано и проиллюстрировано несколько вариантов осуществления настоящего изобретения. Однако должно быть очевидно, что без отклонения от сущности и объема настоящего изобретения могут быть осуществлены изменения и модификации изобретения, охватываемые приведенным выше описанием и приложенной формулой изобретения.

Claims (34)

  1. ФОРМУЛА ИЗОБРЕТЕНИЯ
    1. Способ обновления удаленной базы данных через сеть, включающий формирование множества периодических обновлений, основанных на добавочных изменениях в локальной базе данных, причем каждое из множества периодических обновлений содержит по меньшей мере одну транзакцию, передачу множества периодических обновлений в удаленную базу данных через сеть и, при формировании множества периодических обновлений, формирование инициализирующего обновления, содержащего версию локальной базы данных в момент времени запуска, определение последнего периодического обновления из множества периодических обновлений на основе момента времени запуска, определение последней транзакции на основе момента времени запуска и передачу через сеть в удаленную базу данных инициализирующего обновления, идентификатора последнего периодического обновления и идентификатора последней транзакции.
  2. 2. Способ по п.1, в котором передача инициализирующего обновления включает
    - 13 006045 сопоставление последнему периодическому обновлению идентификатора последнего периодического обновления и сопоставление последней транзакции идентификатора последней транзакции.
  3. 3. Способ по п.1, в котором множество периодических обновлений формируется с регулярными или нерегулярными интервалами времени.
  4. 4. Способ по п.1, в котором момент времени запуска формирования инициализирующего обновления идентичен моменту времени запуска формирования периодического обновления.
  5. 5. Способ по п.1, в котором момент времени запуска формирования инициализирующего обновления более поздний, чем момент времени запуска формирования периодического обновления.
  6. 6. Способ по п.1, в котором периодическое обновление содержит множество транзакций, каждая из которых имеет уникальный идентификатор транзакции.
  7. 7. Способ обновления удаленной базы данных через сеть, включающий получение через сеть множества периодических обновлений, основанных на добавочных изменениях в локальной базе данных, причем каждое из множества периодических обновлений содержит по меньшей мере одну транзакцию, получение через сеть инициализирующего обновления, содержащего версию локальной базы данных в момент времени запуска, считывание из инициализирующего обновления идентификатора последнего периодического обновления, считывание из инициализирующего обновления идентификатора последней транзакции, определение последнего периодического обновления из идентификатора последнего периодического обновления, причем упомянутое определение последнего периодического обновления основано на моменте времени запуска, определение последней транзакции из идентификатора последней транзакции, причем упомянутое определение последней транзакции основано на моменте времени запуска, применение к удаленной базе данных транзакций, сформированных после последней транзакции, и применение к удаленной базе данных периодических обновлений, сформированных после последнего периодического обновления.
  8. 8. Способ по п.7, дополнительно включающий отбрасывание периодических обновлений, сформированных до момента времени запуска инициализирующего обновления.
  9. 9. Способ по п.7, в котором множество периодических обновлений принимаются по одному в периодические интервалы времени.
  10. 10. Способ по п.7, в котором множество периодических обновлений принимаются в пакетах в периодические интервалы времени.
  11. 11. Способ по п.7, в котором периодическое обновление содержит множество транзакций, каждая из которых имеет уникальный идентификатор транзакции.
  12. 12. Способ обновления удаленной базы данных через сеть, включающий формирование множества периодических обновлений, основанных на добавочных изменениях в локальной базе данных, каждое из множества периодических обновлений содержит по меньшей мере одну транзакцию, и формирование инициализирующего обновления, содержащего версию локальной базы данных в момент времени запуска, идентификатор обновления, соответствующий последнему периодическому обновлению, сформированному до момента времени запуска, и идентификатор транзакции, соответствующий последней транзакции, завершенной до момента времени запуска.
  13. 13. Способ по п.12, в котором множество периодических обновлений формируются с регулярными интервалами времени.
  14. 14. Способ по п.12, в котором множество периодических обновлений формируются с нерегулярными интервалами времени.
  15. 15. Способ по п.12, в котором момент времени запуска формирования инициализирующего обновления идентичен моменту времени запуска формирования периодического обновления.
  16. 16. Способ по п.12, в котором момент времени запуска формирования инициализирующего обновления более поздний, чем момент времени запуска формирования периодического обновления.
  17. 17. Система для обновления удаленной базы данных через сеть, содержащая по меньшей мере один процессор, связанный с сетью, и память, связанную с процессором, которая содержит локальную базу данных и команды, адаптированные для выполнения процессором, для реализации способа обновления удаленной базы данных через сеть, при этом способ включает формирование множества периодических обновлений, основанных на добавочных изменениях в локальной базе данных, причем каждое из множества периодических обновлений содержит по меньшей мере одну транзакцию, передачу множества периодических обновлений в удаленную базу данных через сеть и,
    - 14 006045 при формировании множества периодических обновлений, формирование инициализирующего обновления, содержащего версию локальной базы данных в момент времени запуска, определение последнего периодического обновления из множества периодических обновлений на основе момента времени запуска, определение последней транзакции на основе момента времени запуска и передачу через сеть в удаленную базу данных инициализирующего обновления, идентификатора последнего периодического обновления и идентификатора последней транзакции.
  18. 18. Система по п.17, в которой передача инициализирующего обновления включает сопоставление последнему периодическому обновлению идентификатора последнего периодического обновления и сопоставление последней транзакции идентификатора последней транзакции.
  19. 19. Система по п.17, в которой множество периодических обновлений формируется с регулярными или нерегулярными интервалами времени.
  20. 20. Система по п.17, в которой момент времени запуска формирования инициализирующего обновления идентичен моменту времени запуска формирования периодического обновления.
  21. 21. Система по п.17, в которой момент времени запуска формирования инициализирующего обновления более поздний, чем момент времени запуска формирования периодического обновления.
  22. 22. Система по п.17, в которой периодическое обновление содержит множество транзакций, каждая из которых имеет уникальный идентификатор транзакции.
  23. 23. Система для обновления через сеть удаленной базы данных, содержащая по меньшей мере один процессор, связанный с сетью, и память, связанную с процессором, которая содержит локальную базу данных и команды, адаптированные для выполнения процессором, для реализации способа обновления удаленной базы данных через сеть, при этом способ включает получение через сеть множества периодических обновлений, основанных на добавочных изменениях в локальной базе данных, причем каждое из множества периодических обновлений содержит по меньшей мере одну транзакцию, получение через сеть инициализирующего обновления, содержащего версию локальной базы данных в момент времени запуска, считывание из инициализирующего обновления идентификатора последнего периодического обновления, считывание из инициализирующего обновления идентификатора последней транзакции, определение последнего периодического обновления из идентификатора последнего периодического обновления, причем последнее периодическое обновление основано на моменте времени запуска, определение последней транзакции из идентификатора последней транзакции, причем последняя транзакция основана на моменте времени запуска, применение к удаленной базе данных транзакций, сформированных после последней транзакции, и применение к удаленной базе данных периодических обновлений, сформированных после последнего периодического обновления.
  24. 24. Система по п.23, дополнительно включающая отбрасывание периодических обновлений, сформированных до момента времени запуска инициализирующего обновления.
  25. 25. Система по п.23, в которой множество периодических обновлений принимаются и по одному с регулярными или нерегулярными интервалами времени.
  26. 26. Система по п.2.3, в которой множество периодических обновлений принимаются в пакетах с регулярными или нерегулярными интервалами времени.
  27. 27. Система по п.23, в которой периодическое обновление содержит множество транзакций, каждая из которых имеет уникальный идентификатор транзакции, идентификаторы транзакций упорядочены случайным образом.
  28. 28. Носитель информации, считываемый компьютером, содержащий команды, адаптированные для выполнения процессором, для реализации способа обновления удаленной базы данных через сеть, причем способ включает формирование множества периодических обновлений, основанных на добавочных изменениях в локальной базе данных, каждое из множества периодических обновлений содержит по меньшей мере одну транзакцию, передачу множества периодических обновлений в удаленную базу данных через сеть и, при формировании множества периодических обновлений, формирование инициализирующего обновления, содержащего версию локальной базы данных в момент времени запуска, определение последнего периодического обновления из множества периодических обновлений на основе момента времени запуска,
    - 15 006045 определение последней транзакции на основе момента времени запуска, сопоставление последнему периодическому обновлению идентификатора последнего периодического обновления, сопоставление последней транзакции идентификатора последней транзакции и передачу через сеть в удаленную базу данных инициализирующего обновления, идентификатора последнего периодического обновления и идентификатора последней транзакции.
  29. 29. Носитель информации, считываемый компьютером, содержащий инструкции, адаптированные для выполнения процессором, для реализации способа обновления удаленной базы данных через сеть, причем способ включает получение через сеть множества периодических обновлений, основанных на добавочных изменениях в локальной базе данных, каждое из множества периодических обновлений содержит по меньшей мере одну транзакцию, получение через сеть инициализирующего обновления, содержащего версию локальной базы данных в момент времени запуска, считывание из инициализирующего обновления идентификатора последнего периодического обновления, считывание из инициализирующего обновления идентификатора последней транзакции, определение последнего периодического обновления из идентификатора последнего периодического обновления, причем последнее периодическое обновление основано на моменте времени запуска, определение последней транзакции из идентификатора последней транзакции, причем последняя транзакция основана на моменте времени запуска, применение к удаленной базе данных транзакций, сформированных после последней транзакции, и применение к удаленной базе данных периодических обновлений, сформированных после последнего периодического обновления.
  30. 30. Способ обновления удаленной базы данных через сеть, включающий формирование множества периодических обновлений, основанных на добавочных изменениях в локальной базе данных, причем каждое из множества периодических обновлений содержит по меньшей мере одну транзакцию, формирование инициализирующего обновления, содержащего версию локальной базы данных в момент времени запуска, и увязку инициализирующего обновления с периодическими обновлениями, идентификатор обновления, соответствующий последнему периодическому обновлению, сформированному до момента времени запуска, и идентификатор транзакции, однозначно соответствующий последней транзакции, завершенной до момента времени запуска.
  31. 31. Способ по п.30, в котором периодические обновления содержат обновления в сервере доменных имен.
  32. 32. Способ по п.30, в котором идентификатор обновления соответствует последнему периодическому обновлению в сервере доменных имен.
  33. 33. Способ по п.30, в котором идентификатор транзакции соответствует последней транзакции, завершенной в сервере доменных имен.
  34. 34. Формирователь обновлений, содержащий средство формирования множества периодических обновлений, основанных на добавочных изменениях в локальной базе данных, причем каждое из множества периодических обновлений содержит, по меньшей мере, одну транзакцию, и средство формирования инициализирующего обновления, содержащего версию локальной базы данных в момент времени запуска, идентификатор обновления, соответствующий последнему периодическому обновлению, сформированному до момента времени запуска, и идентификатор транзакции, соответствующий последней транзакции, завершенной до момента времени запуска.
EA200400612A 2001-11-01 2002-11-01 Способ и система для обновления удаленной базы данных EA006045B1 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US33084201P 2001-11-01 2001-11-01
US36516902P 2002-03-19 2002-03-19
PCT/US2002/035083 WO2003038654A1 (en) 2001-11-01 2002-11-01 Method and system for updating a remote database

Publications (2)

Publication Number Publication Date
EA200400612A1 EA200400612A1 (ru) 2004-12-30
EA006045B1 true EA006045B1 (ru) 2005-08-25

Family

ID=26987480

Family Applications (4)

Application Number Title Priority Date Filing Date
EA200400618A EA005646B1 (ru) 2001-11-01 2002-11-01 База данных с высокоскоростным не параллельным управлением
EA200400612A EA006045B1 (ru) 2001-11-01 2002-11-01 Способ и система для обновления удаленной базы данных
EA200400614A EA006223B1 (ru) 2001-11-01 2002-11-01 Способ и система для проверки достоверности удалённой базы данных
EA200400613A EA006038B1 (ru) 2001-11-01 2002-11-01 Диспетчер транзакций в памяти

Family Applications Before (1)

Application Number Title Priority Date Filing Date
EA200400618A EA005646B1 (ru) 2001-11-01 2002-11-01 База данных с высокоскоростным не параллельным управлением

Family Applications After (2)

Application Number Title Priority Date Filing Date
EA200400614A EA006223B1 (ru) 2001-11-01 2002-11-01 Способ и система для проверки достоверности удалённой базы данных
EA200400613A EA006038B1 (ru) 2001-11-01 2002-11-01 Диспетчер транзакций в памяти

Country Status (16)

Country Link
US (10) US6681228B2 (ru)
EP (10) EP1449049A4 (ru)
JP (4) JP4420325B2 (ru)
KR (4) KR100953137B1 (ru)
CN (4) CN1610902B (ru)
AU (5) AU2002356884B2 (ru)
BR (4) BR0213863A (ru)
CA (4) CA2466110C (ru)
EA (4) EA005646B1 (ru)
HK (1) HK1075308A1 (ru)
IL (8) IL161721A0 (ru)
MX (4) MXPA04004169A (ru)
NO (4) NO20042261L (ru)
NZ (4) NZ532772A (ru)
WO (5) WO2003038683A1 (ru)
ZA (4) ZA200403597B (ru)

Families Citing this family (267)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7272604B1 (en) * 1999-09-03 2007-09-18 Atle Hedloy Method, system and computer readable medium for addressing handling from an operating system
US6745248B1 (en) * 2000-08-02 2004-06-01 Register.Com, Inc. Method and apparatus for analyzing domain name registrations
WO2002019127A1 (en) * 2000-08-25 2002-03-07 Integrated Business Systems And Services, Inc. Transaction-based enterprise application integration (eai) and development system
US20030182447A1 (en) * 2001-05-31 2003-09-25 Schilling Frank T. Generic top-level domain re-routing system
WO2003038683A1 (en) * 2001-11-01 2003-05-08 Verisign, Inc. Transactional memory manager
US20040005892A1 (en) * 2002-04-18 2004-01-08 Arnaldo Mayer System and method for managing parameter exchange between telecommunications operators
CA2384185A1 (en) * 2002-04-29 2003-10-29 Ibm Canada Limited-Ibm Canada Limitee Resizable cache sensitive hash table
JP3971984B2 (ja) * 2002-10-15 2007-09-05 松下電器産業株式会社 通信装置および通信方法
US8255361B2 (en) * 2003-01-31 2012-08-28 Oracle America, Inc. Method and system for validating differential computer system update
US20040193604A1 (en) * 2003-03-31 2004-09-30 Qwest Communications International Inc. Systems and methods for restricting a telephone number's availability for assignment
US20040193509A1 (en) * 2003-03-31 2004-09-30 Qwest Communications International Inc. Systems and methods for managing telephone number inventory
US7395276B2 (en) * 2003-03-31 2008-07-01 Qwest Communications International Inc. Systems and methods for resolving telephone number discrepancies en masse
US7162495B2 (en) * 2003-03-31 2007-01-09 Qwest Communications Inc. Systems and methods for clearing telephone number porting assignments EN masse
US7689569B2 (en) * 2003-03-31 2010-03-30 Qwest Communications International Inc. Systems and methods for managing large data environments
US7624112B2 (en) * 2003-04-03 2009-11-24 Oracle International Corporation Asynchronously storing transaction information from memory to a persistent storage
US7212817B2 (en) * 2003-04-30 2007-05-01 Hewlett-Packard Development Company, L.P. Partitioning a database keyed with variable length keys
US20040220941A1 (en) * 2003-04-30 2004-11-04 Nielson Mark R. Sorting variable length keys in a database
JP4374953B2 (ja) * 2003-09-09 2009-12-02 株式会社日立製作所 データ処理システム
JP4124348B2 (ja) 2003-06-27 2008-07-23 株式会社日立製作所 記憶システム
JP2005309550A (ja) 2004-04-19 2005-11-04 Hitachi Ltd リモートコピー方法及びリモートコピーシステム
US7130975B2 (en) * 2003-06-27 2006-10-31 Hitachi, Ltd. Data processing system
TW591441B (en) * 2003-07-28 2004-06-11 Accton Technology Corp Database system and data access method thereof
US8949304B2 (en) * 2003-08-20 2015-02-03 Apple Inc. Method and apparatus for accelerating the expiration of resource records in a local cache
US8166101B2 (en) 2003-08-21 2012-04-24 Microsoft Corporation Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system
US7590643B2 (en) * 2003-08-21 2009-09-15 Microsoft Corporation Systems and methods for extensions and inheritance for units of information manageable by a hardware/software interface system
US8131739B2 (en) * 2003-08-21 2012-03-06 Microsoft Corporation Systems and methods for interfacing application programs with an item-based storage platform
US8238696B2 (en) 2003-08-21 2012-08-07 Microsoft Corporation Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system
US7606788B2 (en) * 2003-08-22 2009-10-20 Oracle International Corporation Method and apparatus for protecting private information within a database
CN100337236C (zh) * 2003-08-26 2007-09-12 华为技术有限公司 一种使前后台数据库中数据相一致的方法
US20050060566A1 (en) 2003-09-16 2005-03-17 Chebolu Anil Kumar Online user-access reports with authorization features
US20050066290A1 (en) * 2003-09-16 2005-03-24 Chebolu Anil Kumar Pop-up capture
US7219201B2 (en) * 2003-09-17 2007-05-15 Hitachi, Ltd. Remote storage disk control device and method for controlling the same
US7702628B1 (en) * 2003-09-29 2010-04-20 Sun Microsystems, Inc. Implementing a fully dynamic lock-free hash table without dummy nodes
US7158976B1 (en) * 2003-09-30 2007-01-02 Emc Corporation Spatial domain mechanism
US20060008256A1 (en) 2003-10-01 2006-01-12 Khedouri Robert K Audio visual player apparatus and system and method of content distribution using the same
US20130097302A9 (en) 2003-10-01 2013-04-18 Robert Khedouri Audio visual player apparatus and system and method of content distribution using the same
US7127587B2 (en) * 2003-12-11 2006-10-24 International Business Machines Corporation Intent seizes in a multi-processor environment
JP4412989B2 (ja) 2003-12-15 2010-02-10 株式会社日立製作所 複数の記憶システムを有するデータ処理システム
US20070171902A1 (en) * 2003-12-30 2007-07-26 Telefonaktiebolaget Lm Ericsson Method device for transmitting data packets belong to different users in a common transmittal protocol packet
JP4477370B2 (ja) * 2004-01-30 2010-06-09 株式会社日立製作所 データ処理システム
US7895199B2 (en) * 2004-04-20 2011-02-22 Honda Motor Co., Ltd. Method and system for modifying orders
CA2465558A1 (en) * 2004-04-22 2005-10-22 Ibm Canada Limited - Ibm Canada Limitee Framework for retrieval and display of large result sets
US7555634B1 (en) 2004-04-22 2009-06-30 Sun Microsystems, Inc. Multiple data hazards detection and resolution unit
ATE343303T1 (de) * 2004-05-11 2006-11-15 Cit Alcatel Netzelement und verfahren zur abbildung von adressinformationen
US7483426B2 (en) * 2004-05-13 2009-01-27 Micrel, Inc. Look-up table expansion method
US8150797B2 (en) * 2004-05-21 2012-04-03 Computer Associates Think, Inc. Method and apparatus for enhancing directory performance
US20060036720A1 (en) * 2004-06-14 2006-02-16 Faulk Robert L Jr Rate limiting of events
DE602004007903T2 (de) * 2004-06-22 2008-04-17 Sap Ag Datenverarbeitungsvorrichtung von Online-Transaktionsdaten
US7774298B2 (en) * 2004-06-30 2010-08-10 Sap Ag Method and system for data extraction from a transaction system to an analytics system
JP4519563B2 (ja) 2004-08-04 2010-08-04 株式会社日立製作所 記憶システム及びデータ処理システム
US7359923B2 (en) * 2004-08-20 2008-04-15 International Business Machines Corporation Online incremental deferred integrity processing and maintenance of rolled in and rolled out data
US7788282B2 (en) * 2004-09-16 2010-08-31 International Business Machines Corporation Methods and computer programs for database structure comparison
JP2006127028A (ja) * 2004-10-27 2006-05-18 Hitachi Ltd 記憶システム及び記憶制御装置
US8356127B2 (en) * 2004-12-09 2013-01-15 Rambus Inc. Memory interface with workload adaptive encode/decode
US7805422B2 (en) * 2005-02-28 2010-09-28 Microsoft Corporation Change notification query multiplexing
US20060218176A1 (en) * 2005-03-24 2006-09-28 International Business Machines Corporation System, method, and service for organizing data for fast retrieval
US9547780B2 (en) * 2005-03-28 2017-01-17 Absolute Software Corporation Method for determining identification of an electronic device
US7693082B2 (en) * 2005-04-12 2010-04-06 Azimuth Systems, Inc. Latency measurement apparatus and method
CN1878164A (zh) * 2005-06-08 2006-12-13 华为技术有限公司 E.164号码域名存储和查询方法
CN100395996C (zh) * 2005-06-23 2008-06-18 华为技术有限公司 一种网络管理系统的信息同步方法
US7743028B1 (en) * 2005-07-13 2010-06-22 Symantec Corporation Incremental backup of partial volumes
US8015222B2 (en) 2005-10-24 2011-09-06 Emc Corporation Virtual repository management
US8819048B1 (en) * 2005-10-24 2014-08-26 Emc Corporation Virtual repository management to provide retention management services
US20070100783A1 (en) * 2005-10-29 2007-05-03 International Business Machines Corporation Method, system, and program for determining discrepancies between database management systems
US20070106729A1 (en) * 2005-11-04 2007-05-10 Research In Motion Limited Method and system for updating message threads
US8799882B2 (en) * 2005-12-07 2014-08-05 Microsoft Corporation Compiler support for optimizing decomposed software transactional memory operations
US7747565B2 (en) * 2005-12-07 2010-06-29 Microsoft Corporation Garbage collector support for transactional memory
CN101336535B (zh) * 2005-12-27 2011-10-12 法国电信公司 管理dnssec请求的服务器和方法
US20070192374A1 (en) * 2006-02-16 2007-08-16 Emc Corporation Virtual repository management to provide functionality
US8990153B2 (en) * 2006-02-07 2015-03-24 Dot Hill Systems Corporation Pull data replication model
US7761293B2 (en) * 2006-03-06 2010-07-20 Tran Bao Q Spoken mobile engine
US20070208564A1 (en) * 2006-03-06 2007-09-06 Available For Licensing Telephone based search system
US20070226264A1 (en) * 2006-03-22 2007-09-27 Gang Luo System and method for real-time materialized view maintenance
US7783850B2 (en) * 2006-03-28 2010-08-24 Dot Hill Systems Corporation Method and apparatus for master volume access during volume copy
KR100728982B1 (ko) * 2006-04-14 2007-06-15 주식회사 하이닉스반도체 상변환 기억 소자 및 그의 제조방법
KR100728983B1 (ko) * 2006-04-14 2007-06-15 주식회사 하이닉스반도체 상변환 기억 소자 및 그의 제조방법
US7636829B2 (en) * 2006-05-02 2009-12-22 Intel Corporation System and method for allocating and deallocating memory within transactional code
TW200743000A (en) * 2006-05-11 2007-11-16 Ming-Ta Hsu Report retrieval and presentation methods and systems
US8606926B2 (en) * 2006-06-14 2013-12-10 Opendns, Inc. Recursive DNS nameserver
US8713188B2 (en) 2007-12-13 2014-04-29 Opendns, Inc. Per-request control of DNS behavior
US7575163B2 (en) 2006-07-18 2009-08-18 At&T Intellectual Property I, L.P. Interactive management of storefront purchases
US8400947B2 (en) * 2006-07-20 2013-03-19 Tekelec, Inc. Methods, systems, and computer program products for specifying a particular ENUM service type in a communications network that utilizes a plurality of different ENUM service types
US20080034053A1 (en) * 2006-08-04 2008-02-07 Apple Computer, Inc. Mail Server Clustering
US20080052270A1 (en) * 2006-08-23 2008-02-28 Telefonaktiebolaget Lm Ericsson (Publ) Hash table structure and search method
US7921075B2 (en) * 2006-09-29 2011-04-05 International Business Machines Corporation Generic sequencing service for business integration
US9274857B2 (en) * 2006-10-13 2016-03-01 International Business Machines Corporation Method and system for detecting work completion in loosely coupled components
US9514201B2 (en) * 2006-10-13 2016-12-06 International Business Machines Corporation Method and system for non-intrusive event sequencing
US7680956B2 (en) * 2006-10-24 2010-03-16 Cisco Technology, Inc. Communicating additional information in a DNS update response by requesting deletion of a specific record
KR100898995B1 (ko) * 2006-10-25 2009-05-21 노키아 코포레이션 원격 전자 거래
US9824107B2 (en) * 2006-10-25 2017-11-21 Entit Software Llc Tracking changing state data to assist in computer network security
US7593973B2 (en) * 2006-11-15 2009-09-22 Dot Hill Systems Corp. Method and apparatus for transferring snapshot data
US20080254436A1 (en) * 2006-11-16 2008-10-16 Morgia Michael A Selection Of A Consensus From A Plurality Of Ideas
US8688749B1 (en) 2011-03-31 2014-04-01 Palantir Technologies, Inc. Cross-ontology multi-master replication
US8515912B2 (en) 2010-07-15 2013-08-20 Palantir Technologies, Inc. Sharing and deconflicting data changes in a multimaster database system
US8181187B2 (en) * 2006-12-01 2012-05-15 Portico Systems Gateways having localized in-memory databases and business logic execution
US8615635B2 (en) * 2007-01-05 2013-12-24 Sony Corporation Database management methodology
US8751467B2 (en) * 2007-01-18 2014-06-10 Dot Hill Systems Corporation Method and apparatus for quickly accessing backing store metadata
US7831565B2 (en) * 2007-01-18 2010-11-09 Dot Hill Systems Corporation Deletion of rollback snapshot partition
DE102007008293B4 (de) * 2007-02-16 2010-02-25 Continental Automotive Gmbh Verfahren und Vorrichtung zum gesicherten Speichern und zum gesicherten Lesen von Nutzdaten
US9690790B2 (en) * 2007-03-05 2017-06-27 Dell Software Inc. Method and apparatus for efficiently merging, storing and retrieving incremental data
JP2008226167A (ja) * 2007-03-15 2008-09-25 Toshiba Corp データ配布システム及びデータ配布プログラム
US7716183B2 (en) * 2007-04-11 2010-05-11 Dot Hill Systems Corporation Snapshot preserved data cloning
US7975115B2 (en) * 2007-04-11 2011-07-05 Dot Hill Systems Corporation Method and apparatus for separating snapshot preserved and write data
US8768898B1 (en) * 2007-04-26 2014-07-01 Netapp, Inc. Performing direct data manipulation on a storage device
US8856094B2 (en) * 2007-05-08 2014-10-07 Digital River, Inc. Remote segmentation system and method
US20090182718A1 (en) * 2007-05-08 2009-07-16 Digital River, Inc. Remote Segmentation System and Method Applied To A Segmentation Data Mart
US7783603B2 (en) * 2007-05-10 2010-08-24 Dot Hill Systems Corporation Backing store re-initialization method and apparatus
US8001345B2 (en) * 2007-05-10 2011-08-16 Dot Hill Systems Corporation Automatic triggering of backing store re-initialization
US8688920B2 (en) 2007-05-14 2014-04-01 International Business Machines Corporation Computing system with guest code support of transactional memory
US8095750B2 (en) * 2007-05-14 2012-01-10 International Business Machines Corporation Transactional memory system with fast processing of common conflicts
US8117403B2 (en) * 2007-05-14 2012-02-14 International Business Machines Corporation Transactional memory system which employs thread assists using address history tables
US8095741B2 (en) * 2007-05-14 2012-01-10 International Business Machines Corporation Transactional memory computing system with support for chained transactions
US8321637B2 (en) * 2007-05-14 2012-11-27 International Business Machines Corporation Computing system with optimized support for transactional memory
US9009452B2 (en) 2007-05-14 2015-04-14 International Business Machines Corporation Computing system with transactional memory using millicode assists
US8175099B2 (en) * 2007-05-14 2012-05-08 Microsoft Corporation Embedded system development platform
US7882337B2 (en) * 2007-05-19 2011-02-01 International Business Machines Corporation Method and system for efficient tentative tracing of software in multiprocessors
US8204858B2 (en) * 2007-06-25 2012-06-19 Dot Hill Systems Corporation Snapshot reset method and apparatus
US8140961B2 (en) * 2007-11-21 2012-03-20 Hewlett-Packard Development Company, L.P. Automated re-ordering of columns for alignment trap reduction
US11347771B2 (en) * 2007-11-28 2022-05-31 International Business Machines Corporation Content engine asynchronous upgrade framework
US8412700B2 (en) 2008-01-11 2013-04-02 International Business Machines Corporation Database query optimization using index carryover to subset an index
US7912867B2 (en) * 2008-02-25 2011-03-22 United Parcel Services Of America, Inc. Systems and methods of profiling data for integration
US8015191B2 (en) * 2008-03-27 2011-09-06 International Business Machines Corporation Implementing dynamic processor allocation based upon data density
US8170988B2 (en) * 2008-04-17 2012-05-01 The Boeing Company System and method for synchronizing databases
US8768349B1 (en) * 2008-04-24 2014-07-01 Sprint Communications Company L.P. Real-time subscriber profile consolidation system
US9094140B2 (en) * 2008-04-28 2015-07-28 Time Warner Cable Enterprises Llc Methods and apparatus for audience research in a content-based network
DE102008022415A1 (de) * 2008-05-06 2009-11-12 TÜV Rheinland Industrie Service GmbH Absinkverhinderungsvorrichtung
US8275761B2 (en) 2008-05-15 2012-09-25 International Business Machines Corporation Determining a density of a key value referenced in a database query over a range of rows
US8140520B2 (en) * 2008-05-15 2012-03-20 International Business Machines Corporation Embedding densities in a data structure
EP2134122A1 (en) * 2008-06-13 2009-12-16 Hewlett-Packard Development Company, L.P. Controlling access to a communication network using a local device database and a shared device database
US8312033B1 (en) 2008-06-26 2012-11-13 Experian Marketing Solutions, Inc. Systems and methods for providing an integrated identifier
CN101309177B (zh) * 2008-07-11 2012-01-11 中国移动通信集团云南有限公司 一种网络资源数据管理方法及系统
US9418005B2 (en) 2008-07-15 2016-08-16 International Business Machines Corporation Managing garbage collection in a data processing system
CN101639950B (zh) * 2008-07-29 2011-07-13 中兴通讯股份有限公司 一种车道收费系统中的数据同步方法及装置
US8751441B2 (en) * 2008-07-31 2014-06-10 Sybase, Inc. System, method, and computer program product for determining SQL replication process
US8239417B2 (en) * 2008-08-07 2012-08-07 Armanta, Inc. System, method, and computer program product for accessing and manipulating remote datasets
US8768933B2 (en) * 2008-08-08 2014-07-01 Kabushiki Kaisha Toshiba System and method for type-ahead address lookup employing historically weighted address placement
CN101727383B (zh) * 2008-10-16 2012-07-04 上海市医疗保险信息中心 数据库的仿真测试方法和系统
US9292612B2 (en) 2009-04-22 2016-03-22 Verisign, Inc. Internet profile service
US8676989B2 (en) 2009-04-23 2014-03-18 Opendns, Inc. Robust domain name resolution
US8527945B2 (en) 2009-05-07 2013-09-03 Verisign, Inc. Method and system for integrating multiple scripts
US8037076B2 (en) * 2009-05-11 2011-10-11 Red Hat, Inc. Federated indexing from hashed primary key slices
US8510263B2 (en) 2009-06-15 2013-08-13 Verisign, Inc. Method and system for auditing transaction data from database operations
US8739125B2 (en) * 2009-06-16 2014-05-27 Red Hat, Inc. Automated and unattended process for testing software applications
US20100333071A1 (en) * 2009-06-30 2010-12-30 International Business Machines Corporation Time Based Context Sampling of Trace Data with Support for Multiple Virtual Machines
US8977705B2 (en) * 2009-07-27 2015-03-10 Verisign, Inc. Method and system for data logging and analysis
US8327019B2 (en) * 2009-08-18 2012-12-04 Verisign, Inc. Method and system for intelligent routing of requests over EPP
US8874694B2 (en) * 2009-08-18 2014-10-28 Facebook, Inc. Adaptive packaging of network resources
US8856344B2 (en) 2009-08-18 2014-10-07 Verisign, Inc. Method and system for intelligent many-to-many service routing over EPP
US20110044320A1 (en) * 2009-08-21 2011-02-24 Avaya Inc. Mechanism for fast evaluation of policies in work assignment
US8175098B2 (en) 2009-08-27 2012-05-08 Verisign, Inc. Method for optimizing a route cache
US8566524B2 (en) 2009-08-31 2013-10-22 International Business Machines Corporation Transactional memory system with efficient cache support
US9269080B2 (en) 2009-10-30 2016-02-23 Verisign, Inc. Hierarchical publish/subscribe system
US9235829B2 (en) 2009-10-30 2016-01-12 Verisign, Inc. Hierarchical publish/subscribe system
US9569753B2 (en) 2009-10-30 2017-02-14 Verisign, Inc. Hierarchical publish/subscribe system performed by multiple central relays
US9047589B2 (en) 2009-10-30 2015-06-02 Verisign, Inc. Hierarchical publish and subscribe system
US8982882B2 (en) 2009-11-09 2015-03-17 Verisign, Inc. Method and system for application level load balancing in a publish/subscribe message architecture
US9762405B2 (en) 2009-10-30 2017-09-12 Verisign, Inc. Hierarchical publish/subscribe system
CN102096676B (zh) * 2009-12-11 2014-04-09 中国移动通信集团公司 数据更新及查询控制方法及系统
US20110178984A1 (en) * 2010-01-18 2011-07-21 Microsoft Corporation Replication protocol for database systems
US8825601B2 (en) * 2010-02-01 2014-09-02 Microsoft Corporation Logical data backup and rollback using incremental capture in a distributed database
US9176783B2 (en) 2010-05-24 2015-11-03 International Business Machines Corporation Idle transitions sampling with execution context
US8843684B2 (en) 2010-06-11 2014-09-23 International Business Machines Corporation Performing call stack sampling by setting affinity of target thread to a current process to prevent target thread migration
US8799872B2 (en) 2010-06-27 2014-08-05 International Business Machines Corporation Sampling with sample pacing
FR2964213B1 (fr) * 2010-09-01 2013-04-26 Evidian Annuaire d'identite et procede de mise a jour d'un annuaire d'identite
US8489724B2 (en) * 2010-09-14 2013-07-16 Cdnetworks Co., Ltd. CNAME-based round-trip time measurement in a content delivery network
US20120089646A1 (en) * 2010-10-08 2012-04-12 Jain Rohit N Processing change data
US8332433B2 (en) 2010-10-18 2012-12-11 Verisign, Inc. Database synchronization and validation
US8799904B2 (en) 2011-01-21 2014-08-05 International Business Machines Corporation Scalable system call stack sampling
JP5652281B2 (ja) * 2011-03-18 2015-01-14 富士通株式会社 業務処理サーバ、業務処理方法及び業務処理プログラム
RU2480819C2 (ru) * 2011-06-28 2013-04-27 Закрытое акционерное общество "Лаборатория Касперского" Способ оптимизации работы со связными списками
US8549579B2 (en) * 2011-07-06 2013-10-01 International Business Machines Corporation Dynamic data-protection policies within a request-reply message queuing environment
US9087071B2 (en) * 2011-08-03 2015-07-21 Amazon Technologies, Inc. Gathering transaction data associated with locally stored data files
US8782352B2 (en) * 2011-09-29 2014-07-15 Oracle International Corporation System and method for supporting a self-tuning locking mechanism in a transactional middleware machine environment
IL216056B (en) * 2011-10-31 2018-04-30 Verint Systems Ltd A system and method for integrating databases
US9679009B2 (en) * 2011-11-17 2017-06-13 Sap Se Component independent process integration message search
CN104040481B (zh) 2011-11-18 2017-10-10 戴尔软件股份有限公司 用于融合、存储和检索增量式备份数据的方法和系统
US8782004B2 (en) 2012-01-23 2014-07-15 Palantir Technologies, Inc. Cross-ACL multi-master replication
KR101375794B1 (ko) 2012-01-27 2014-03-18 네이버비즈니스플랫폼 주식회사 데이터베이스의 성능을 향상하기 위한 방법 및 장치
JP2013182588A (ja) * 2012-03-05 2013-09-12 Oki Electric Ind Co Ltd バックアップシステムにおけるバックアップデータの同期方法
WO2015165073A1 (en) 2014-04-30 2015-11-05 Oracle International Corporation System and method for supporting adaptive self-tuning locking mechanism in transactional middleware machine environment
US9065855B2 (en) * 2012-06-29 2015-06-23 Verisign, Inc. Systems and methods for automatically providing Whois service to top level domains
US9244846B2 (en) 2012-07-06 2016-01-26 International Business Machines Corporation Ensuring causality of transactional storage accesses interacting with non-transactional storage accesses
US9369395B2 (en) 2012-08-31 2016-06-14 At&T Intellectual Property I, L.P. Methods and apparatus to negotiate flow control for a communication session
US20140101150A1 (en) * 2012-10-05 2014-04-10 Axis Semiconductor, Inc. Efficient high performance scalable pipelined searching method using variable stride multibit tries
US9081975B2 (en) 2012-10-22 2015-07-14 Palantir Technologies, Inc. Sharing information between nexuses that use different classification schemes for information access control
US9501761B2 (en) 2012-11-05 2016-11-22 Palantir Technologies, Inc. System and method for sharing investigation results
US9654541B1 (en) 2012-11-12 2017-05-16 Consumerinfo.Com, Inc. Aggregating user web browsing data
US9613165B2 (en) 2012-11-13 2017-04-04 Oracle International Corporation Autocomplete searching with security filtering and ranking
US9916621B1 (en) 2012-11-30 2018-03-13 Consumerinfo.Com, Inc. Presentation of credit score factors
CN103929763A (zh) * 2013-01-11 2014-07-16 阿尔卡特朗讯 一种用于比较和重构地理冗余的数据库的方法
US10102570B1 (en) 2013-03-14 2018-10-16 Consumerinfo.Com, Inc. Account vulnerability alerts
US20140358886A1 (en) * 2013-06-04 2014-12-04 Marvell World Trade Ltd. Internal search engines architecture
US8886601B1 (en) 2013-06-20 2014-11-11 Palantir Technologies, Inc. System and method for incrementally replicating investigative analysis data
WO2015026971A2 (en) * 2013-08-20 2015-02-26 Shanklin Steven Dale Application trust-listing security service
GB2517932B (en) 2013-09-04 2021-05-05 1Spatial Group Ltd Modification and validation of spatial data
US10162841B1 (en) * 2013-10-28 2018-12-25 Pivotal Software, Inc. Data management platform
US9569070B1 (en) 2013-11-11 2017-02-14 Palantir Technologies, Inc. Assisting in deconflicting concurrency conflicts
US9477737B1 (en) * 2013-11-20 2016-10-25 Consumerinfo.Com, Inc. Systems and user interfaces for dynamic access of multiple remote databases and synchronization of data based on user rules
US10095800B1 (en) 2013-12-16 2018-10-09 Amazon Technologies, Inc. Multi-tenant data store management
US9009827B1 (en) 2014-02-20 2015-04-14 Palantir Technologies Inc. Security sharing system
US9405655B2 (en) * 2014-03-19 2016-08-02 Dell Products, Lp System and method for running a validation process for an information handling system during a factory process
US9925492B2 (en) 2014-03-24 2018-03-27 Mellanox Technologies, Ltd. Remote transactional memory
US9971987B1 (en) 2014-03-25 2018-05-15 Amazon Technologies, Inc. Out of order data management
US9910883B2 (en) 2014-04-07 2018-03-06 International Business Machines Corporation Enhanced batch updates on records and related records system and method
WO2015162705A1 (ja) * 2014-04-22 2015-10-29 株式会社日立製作所 共有リソース更新装置及び共有リソース更新方法
US9778949B2 (en) * 2014-05-05 2017-10-03 Google Inc. Thread waiting in a multithreaded processor architecture
US9785773B2 (en) 2014-07-03 2017-10-10 Palantir Technologies Inc. Malware data item analysis
US10572496B1 (en) 2014-07-03 2020-02-25 Palantir Technologies Inc. Distributed workflow system and database with access controls for city resiliency
US9021260B1 (en) 2014-07-03 2015-04-28 Palantir Technologies Inc. Malware data item analysis
US9699023B2 (en) * 2014-07-18 2017-07-04 Fujitsu Limited Initializing a network interface based on stored data
US10204134B2 (en) * 2014-08-14 2019-02-12 International Business Machines Corporation Automatic detection of problems in a large-scale multi-record update system and method
US11176106B2 (en) * 2014-11-19 2021-11-16 Unisys Corporation Dynamic modification of database schema
CN104572881A (zh) * 2014-12-23 2015-04-29 国家电网公司 基于多任务并发的配网图模导入方法
US9734016B2 (en) * 2015-02-24 2017-08-15 Red Hat Israel, Ltd. Secure live virtual machine guest based snapshot recovery
US20160378824A1 (en) * 2015-06-24 2016-12-29 Futurewei Technologies, Inc. Systems and Methods for Parallelizing Hash-based Operators in SMP Databases
US20160378812A1 (en) * 2015-06-25 2016-12-29 International Business Machines Corporation Reduction of bind breaks
CN104965923B (zh) * 2015-07-08 2018-09-28 安徽兆尹信息科技股份有限公司 一种用于生成现金流量表的云计算应用平台构建方法
AU2016340042A1 (en) * 2015-10-15 2018-05-24 Big Ip Pty Ltd A system, method, computer program and data signal for the provision of a database of information for lead generating purposes
WO2017063049A1 (en) * 2015-10-15 2017-04-20 Big Ip Pty Ltd A system, method, computer program and data signal for conducting an electronic search of a database
IL242219B (en) * 2015-10-22 2020-11-30 Verint Systems Ltd System and method for keyword searching using both static and dynamic dictionaries
IL242218B (en) 2015-10-22 2020-11-30 Verint Systems Ltd A system and method for maintaining a dynamic dictionary
US10530758B2 (en) * 2015-12-18 2020-01-07 F5 Networks, Inc. Methods of collaborative hardware and software DNS acceleration and DDOS protection
MX2018007425A (es) * 2015-12-18 2018-08-15 Walmart Apollo Llc Sistemas y metodos para resolver discrepancia de datos.
CN105574407B (zh) * 2015-12-28 2018-09-25 无锡天脉聚源传媒科技有限公司 一种共享的处理方法和装置
US10621198B1 (en) 2015-12-30 2020-04-14 Palantir Technologies Inc. System and method for secure database replication
RU2623882C1 (ru) * 2016-02-18 2017-06-29 Акционерное общество "Лаборатория Касперского" Способ поиска входной строки в дереве поиска с индексацией узлов дерева поиска
US10353888B1 (en) * 2016-03-03 2019-07-16 Amdocs Development Limited Event processing system, method, and computer program
US10642780B2 (en) 2016-03-07 2020-05-05 Mellanox Technologies, Ltd. Atomic access to object pool over RDMA transport network
WO2017191495A1 (en) * 2016-05-05 2017-11-09 Askarov Bauyrzhan New domain name system and usage thereof
US10089339B2 (en) * 2016-07-18 2018-10-02 Arm Limited Datagram reassembly
CN106250487B (zh) * 2016-07-29 2020-07-03 新华三技术有限公司 一种数据库并发控制方法及装置
US11005977B2 (en) * 2016-08-31 2021-05-11 Viavi Solutions Inc. Packet filtering using binary search trees
US10382562B2 (en) * 2016-11-04 2019-08-13 A10 Networks, Inc. Verification of server certificates using hash codes
US10262053B2 (en) 2016-12-22 2019-04-16 Palantir Technologies Inc. Systems and methods for data replication synchronization
TWI643146B (zh) * 2016-12-22 2018-12-01 經貿聯網科技股份有限公司 動態更新金融資料的方法及其處理系統以及動態調整電源配置的方法及其處理系統
CN106790544A (zh) * 2016-12-22 2017-05-31 郑州云海信息技术有限公司 减少远程客户端与数据中心间通信数据量的方法及装置
CN111107175B (zh) * 2017-03-31 2023-08-08 贵州白山云科技股份有限公司 一种构建dns应答报文的方法及装置
GB2561176A (en) * 2017-04-03 2018-10-10 Edinburgh Napier Univ System and method for management of confidential data
US10068002B1 (en) 2017-04-25 2018-09-04 Palantir Technologies Inc. Systems and methods for adaptive data replication
US10430062B2 (en) 2017-05-30 2019-10-01 Palantir Technologies Inc. Systems and methods for geo-fenced dynamic dissemination
US11030494B1 (en) 2017-06-15 2021-06-08 Palantir Technologies Inc. Systems and methods for managing data spills
US10552367B2 (en) 2017-07-26 2020-02-04 Mellanox Technologies, Ltd. Network data transactions using posted and non-posted operations
US10380196B2 (en) 2017-12-08 2019-08-13 Palantir Technologies Inc. Systems and methods for using linked documents
US10915542B1 (en) 2017-12-19 2021-02-09 Palantir Technologies Inc. Contextual modification of data sharing constraints in a distributed database system that uses a multi-master replication scheme
US10528556B1 (en) * 2017-12-31 2020-01-07 Allscripts Software, Llc Database methodology for searching encrypted data records
US20190213271A1 (en) * 2018-01-09 2019-07-11 Unisys Corporation Method and system for data exchange critical event notification
KR102034679B1 (ko) 2018-01-17 2019-10-23 (주)비아이매트릭스 그리드 인터페이스 기반 데이터 입출력 시스템
CN110083596A (zh) * 2018-05-16 2019-08-02 陈刚 一种数据历史跟踪和数据变化历史跟踪的方法
CN108876143A (zh) * 2018-06-13 2018-11-23 亳州市药通信息咨询有限公司 一种中药材价格指数系统
CN110798332B (zh) * 2018-08-03 2022-09-06 Emc Ip控股有限公司 用于搜索目录访问组的方法和系统
US11265324B2 (en) 2018-09-05 2022-03-01 Consumerinfo.Com, Inc. User permissions for access to secure data at third-party
US11238656B1 (en) 2019-02-22 2022-02-01 Consumerinfo.Com, Inc. System and method for an augmented reality experience via an artificial intelligence bot
CN111831639B (zh) * 2019-04-19 2024-01-30 北京车和家信息技术有限公司 一种全局唯一id生成方法及装置、车辆管理系统
US11303606B1 (en) 2019-06-03 2022-04-12 Amazon Technologies, Inc. Hashing name resolution requests according to an identified routing policy
JP7245954B2 (ja) * 2019-07-30 2023-03-24 ファルコンリー インコーポレイテッド 大量の時系列データの滑らか且つ解像度が扱いやすいビュー
US11941065B1 (en) 2019-09-13 2024-03-26 Experian Information Solutions, Inc. Single identifier platform for storing entity data
CN110990377B (zh) * 2019-11-21 2023-08-22 上海达梦数据库有限公司 一种数据装载方法、装置、服务器及存储介质
US11500849B2 (en) * 2019-12-02 2022-11-15 International Business Machines Corporation Universal streaming change data capture
US11269836B2 (en) * 2019-12-17 2022-03-08 Cerner Innovation, Inc. System and method for generating multi-category searchable ternary tree data structure
CN111240762B (zh) * 2020-01-10 2021-11-23 珠海格力电器股份有限公司 线程管理方法、存储介质及电子设备
WO2021172875A1 (ko) * 2020-02-24 2021-09-02 주식회사 센스톤 가상코드를 이용한 사용자 설정 정보 인증 방법, 프로그램 및 장치
KR102479729B1 (ko) * 2020-02-24 2022-12-20 주식회사 센스톤 가상코드를 이용한 사용자 설정 정보 인증 방법, 프로그램 및 장치
US20230138113A1 (en) * 2021-02-09 2023-05-04 Micro Focus Llc System for retrieval of large datasets in cloud environments
US11934377B2 (en) * 2021-02-25 2024-03-19 Microsoft Technology Licensing, Llc Consistency checking for distributed analytical database systems
EP4323888A2 (en) * 2021-04-14 2024-02-21 Google LLC Powering scalable data warehousing with robust query performance
CN113806342A (zh) * 2021-07-21 2021-12-17 厦门莲隐科技有限公司 一种提取以太坊区块链底层数据的系统
US20240045753A1 (en) * 2022-08-02 2024-02-08 Nxp B.V. Dynamic Configuration Of Reaction Policies In Virtualized Fault Management System

Family Cites Families (140)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4412285A (en) * 1981-04-01 1983-10-25 Teradata Corporation Multiprocessor intercommunication system and method
US5010478A (en) * 1986-04-11 1991-04-23 Deran Roger L Entity-attribute value database system with inverse attribute for selectively relating two different entities
GB8704882D0 (en) * 1987-03-03 1987-04-08 Hewlett Packard Co Secure messaging systems
US4947366A (en) * 1987-10-02 1990-08-07 Advanced Micro Devices, Inc. Input/output controller incorporating address mapped input/output windows and read ahead/write behind capabilities
US5175849A (en) * 1988-07-28 1992-12-29 Amdahl Corporation Capturing data of a database system
US5089952A (en) * 1988-10-07 1992-02-18 International Business Machines Corporation Method for allowing weak searchers to access pointer-connected data structures without locking
US5161223A (en) * 1989-10-23 1992-11-03 International Business Machines Corporation Resumeable batch query for processing time consuming queries in an object oriented database management system
EP0447145B1 (en) * 1990-03-12 2000-07-12 Hewlett-Packard Company User scheduled direct memory access using virtual addresses
CA2045705A1 (en) * 1990-06-29 1991-12-30 Richard Lee Sites In-register data manipulation in reduced instruction set processor
US5893117A (en) * 1990-08-17 1999-04-06 Texas Instruments Incorporated Time-stamped database transaction and version management system
US5287496A (en) * 1991-02-25 1994-02-15 International Business Machines Corporation Dynamic, finite versioning for concurrent transaction and query processing
US5369757A (en) * 1991-06-18 1994-11-29 Digital Equipment Corporation Recovery logging in the presence of snapshot files by ordering of buffer pool flushing
US6188428B1 (en) * 1992-02-11 2001-02-13 Mark Koz Transcoding video file server and methods for its use
US5749079A (en) * 1992-03-04 1998-05-05 Singapore Computer Systems Limited End user query facility including a query connectivity driver
US5260942A (en) * 1992-03-06 1993-11-09 International Business Machines Corporation Method and apparatus for batching the receipt of data packets
EP0594196B1 (en) * 1992-10-22 1999-03-31 Cabletron Systems, Inc. Address lookup in packet data communications link, using hashing and content-addressable memory
US5684990A (en) * 1995-01-11 1997-11-04 Puma Technology, Inc. Synchronization of disparate databases
US5729735A (en) * 1995-02-08 1998-03-17 Meyering; Samuel C. Remote database file synchronizer
US5615337A (en) * 1995-04-06 1997-03-25 International Business Machines Corporation System and method for efficiently processing diverse result sets returned by a stored procedures
US5974409A (en) * 1995-08-23 1999-10-26 Microsoft Corporation System and method for locating information in an on-line network
US5758150A (en) * 1995-10-06 1998-05-26 Tele-Communications, Inc. System and method for database synchronization
US6047323A (en) * 1995-10-19 2000-04-04 Hewlett-Packard Company Creation and migration of distributed streams in clusters of networked computers
US5875443A (en) * 1996-01-30 1999-02-23 Sun Microsystems, Inc. Internet-based spelling checker dictionary system with automatic updating
US5852715A (en) * 1996-03-19 1998-12-22 Emc Corporation System for currently updating database by one host and reading the database by different host for the purpose of implementing decision support functions
US5765028A (en) * 1996-05-07 1998-06-09 Ncr Corporation Method and apparatus for providing neural intelligence to a mail query agent in an online analytical processing system
US5787452A (en) * 1996-05-21 1998-07-28 Sybase, Inc. Client/server database system with methods for multi-threaded data processing in a heterogeneous language environment
US6154777A (en) * 1996-07-01 2000-11-28 Sun Microsystems, Inc. System for context-dependent name resolution
US5995980A (en) * 1996-07-23 1999-11-30 Olson; Jack E. System and method for database update replication
US5926816A (en) * 1996-10-09 1999-07-20 Oracle Corporation Database Synchronizer
US6330568B1 (en) * 1996-11-13 2001-12-11 Pumatech, Inc. Synchronization of databases
US6044381A (en) * 1997-09-11 2000-03-28 Puma Technology, Inc. Using distributed history files in synchronizing databases
AU6183698A (en) * 1997-02-26 1998-09-18 Siebel Systems, Inc. Method of determining visibility to a remote database client of a plurality of database transactions having variable visibility strengths
US5937414A (en) * 1997-02-28 1999-08-10 Oracle Corporation Method and apparatus for providing database system replication in a mixed propagation environment
US6862602B2 (en) * 1997-03-07 2005-03-01 Apple Computer, Inc. System and method for rapidly identifying the existence and location of an item in a file
US5920886A (en) * 1997-03-14 1999-07-06 Music Semiconductor Corporation Accelerated hierarchical address filtering and translation using binary and ternary CAMs
KR19990001093A (ko) * 1997-06-12 1999-01-15 윤종용 교환기 시스템의 운영 프로그램 및 데이터베이스 인스톨 방법
US5924098A (en) * 1997-06-30 1999-07-13 Sun Microsystems, Inc. Method and apparatus for managing a linked-list data structure
US6098108A (en) * 1997-07-02 2000-08-01 Sitara Networks, Inc. Distributed directory for enhanced network communication
US6148070A (en) * 1997-07-02 2000-11-14 Ameritech Corporation Method, system, and database for providing a telecommunication service
US5924096A (en) * 1997-10-15 1999-07-13 Novell, Inc. Distributed database using indexed into tags to tracks events according to type, update cache, create virtual update log on demand
US6061678A (en) * 1997-10-31 2000-05-09 Oracle Corporation Approach for managing access to large objects in database systems using large object indexes
US6058389A (en) * 1997-10-31 2000-05-02 Oracle Corporation Apparatus and method for message queuing in a database system
US6029170A (en) * 1997-11-25 2000-02-22 International Business Machines Corporation Hybrid tree array data structure and method
US6044448A (en) * 1997-12-16 2000-03-28 S3 Incorporated Processor having multiple datapath instances
US6256256B1 (en) * 1998-01-30 2001-07-03 Silicon Aquarius, Inc. Dual port random access memories and systems using the same
US6304259B1 (en) * 1998-02-09 2001-10-16 International Business Machines Corporation Computer system, method and user interface components for abstracting and accessing a body of knowledge
US6304881B1 (en) * 1998-03-03 2001-10-16 Pumatech, Inc. Remote data access and synchronization
US6237019B1 (en) * 1998-03-18 2001-05-22 International Business Machines Corporation Method and apparatus for performing a semaphore operation
US6185567B1 (en) * 1998-05-29 2001-02-06 The Trustees Of The University Of Pennsylvania Authenticated access to internet based research and data services
US6131122A (en) 1998-06-01 2000-10-10 Nortel Networks Corporation Programmable internet automation
WO1999063441A1 (en) * 1998-06-05 1999-12-09 Mylex Corporation Snapshot backup strategy
US6434144B1 (en) * 1998-07-06 2002-08-13 Aleksey Romanov Multi-level table lookup
US6360220B1 (en) * 1998-08-04 2002-03-19 Microsoft Corporation Lock-free methods and systems for accessing and storing information in an indexed computer data structure having modifiable entries
US6092178A (en) * 1998-09-03 2000-07-18 Sun Microsystems, Inc. System for responding to a resource request
US6411966B1 (en) * 1998-09-21 2002-06-25 Microsoft Corporation Method and computer readable medium for DNS dynamic update to minimize client-server and incremental zone transfer traffic
US6243715B1 (en) * 1998-11-09 2001-06-05 Lucent Technologies Inc. Replicated database synchronization method whereby primary database is selected queries to secondary databases are referred to primary database, primary database is updated, then secondary databases are updated
WO2000039967A2 (en) * 1998-12-23 2000-07-06 Nokia Wireless Routers, Inc. A unified routing scheme for ad-hoc internetworking
US6516327B1 (en) * 1998-12-24 2003-02-04 International Business Machines Corporation System and method for synchronizing data in multiple databases
US6304924B1 (en) * 1999-02-02 2001-10-16 International Business Machines Corporation Two lock-free, constant-space, multiple-(impure)-reader, single-writer structures
US6553392B1 (en) * 1999-02-04 2003-04-22 Hewlett-Packard Development Company, L.P. System and method for purging database update image files after completion of associated transactions
FI106493B (fi) * 1999-02-09 2001-02-15 Nokia Mobile Phones Ltd Menetelmä ja järjestelmä pakettimuotoisen datan luotettavaksi siirtämiseksi
US6721334B1 (en) * 1999-02-18 2004-04-13 3Com Corporation Method and apparatus for packet aggregation in packet-based network
US6314469B1 (en) * 1999-02-26 2001-11-06 I-Dns.Net International Pte Ltd Multi-language domain name service
AU3390500A (en) 1999-03-03 2000-09-21 Ultradns, Inc. Scalable and efficient domain name resolution
US6484185B1 (en) * 1999-04-05 2002-11-19 Microsoft Corporation Atomic operations on data structures
US6745177B2 (en) * 1999-04-09 2004-06-01 Metro One Telecommunications, Inc. Method and system for retrieving data from multiple data sources using a search routing database
US6938057B2 (en) * 1999-05-21 2005-08-30 International Business Machines Corporation Method and apparatus for networked backup storage
US6529504B1 (en) * 1999-06-02 2003-03-04 Sprint Communications Company, L.P. Telecommunications service control point interface
US6449657B2 (en) * 1999-08-06 2002-09-10 Namezero.Com, Inc. Internet hosting system
AU6624100A (en) * 1999-08-06 2001-03-05 Namezero.Com, Inc. Internet hosting system
US6785704B1 (en) * 1999-12-20 2004-08-31 Fastforward Networks Content distribution system for operation over an internetwork including content peering arrangements
US6792458B1 (en) * 1999-10-04 2004-09-14 Urchin Software Corporation System and method for monitoring and analyzing internet traffic
US6560614B1 (en) * 1999-11-12 2003-05-06 Xosoft Inc. Nonintrusive update of files
KR100856149B1 (ko) 1999-11-26 2008-09-03 네테카 인코포레이티드 전자 메일 서버 및 전자 메일 통신을 용이하게 하기 위한 방법
US6980990B2 (en) * 1999-12-01 2005-12-27 Barry Fellman Internet domain name registration system
US6434681B1 (en) * 1999-12-02 2002-08-13 Emc Corporation Snapshot copy facility for a data storage system permitting continued host read/write access
US6625621B2 (en) * 2000-01-04 2003-09-23 Starfish Software, Inc. System and methods for a fast and scalable synchronization server
US6677964B1 (en) * 2000-02-18 2004-01-13 Xsides Corporation Method and system for controlling a complementary user interface on a display surface
US6789073B1 (en) * 2000-02-22 2004-09-07 Harvey Lunenfeld Client-server multitasking
JP2001236257A (ja) 2000-02-24 2001-08-31 Fujitsu Ltd 情報記憶装置及び加入者データのデータ更新方法並びに移動通信システム
US6615223B1 (en) * 2000-02-29 2003-09-02 Oracle International Corporation Method and system for data replication
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
JP2001290689A (ja) 2000-04-07 2001-10-19 Hitachi Ltd 複数データベース間のレプリケーションのデータ検証方法
US6976090B2 (en) * 2000-04-20 2005-12-13 Actona Technologies Ltd. Differentiated content and application delivery via internet
US6725218B1 (en) * 2000-04-28 2004-04-20 Cisco Technology, Inc. Computerized database system and method
US7734815B2 (en) 2006-09-18 2010-06-08 Akamai Technologies, Inc. Global load balancing across mirrored data centers
US7165116B2 (en) * 2000-07-10 2007-01-16 Netli, Inc. Method for network discovery using name servers
US7725602B2 (en) 2000-07-19 2010-05-25 Akamai Technologies, Inc. Domain name resolution using a distributed DNS network
US20020029226A1 (en) 2000-09-05 2002-03-07 Gang Li Method for combining data with maps
FR2813986B1 (fr) * 2000-09-08 2002-11-29 Eric Vincenot Dispositif de sonorisation a guide d'onde acoustique
JP2002108836A (ja) * 2000-09-29 2002-04-12 Hitachi Ltd プロセッサシステム
US6785675B1 (en) * 2000-11-13 2004-08-31 Convey Development, Inc. Aggregation of resource requests from multiple individual requestors
US6636854B2 (en) * 2000-12-07 2003-10-21 International Business Machines Corporation Method and system for augmenting web-indexed search engine results with peer-to-peer search results
US6868414B2 (en) * 2001-01-03 2005-03-15 International Business Machines Corporation Technique for serializing data structure updates and retrievals without requiring searchers to use locks
US6728736B2 (en) * 2001-03-14 2004-04-27 Storage Technology Corporation System and method for synchronizing a data copy using an accumulation remote copy trio
US6691124B2 (en) * 2001-04-04 2004-02-10 Cypress Semiconductor Corp. Compact data structures for pipelined message forwarding lookups
GB2374951B (en) 2001-04-24 2005-06-15 Discreet Logic Inc Asynchronous database updates
US7171415B2 (en) * 2001-05-04 2007-01-30 Sun Microsystems, Inc. Distributed information discovery through searching selected registered information providers
US20030182447A1 (en) * 2001-05-31 2003-09-25 Schilling Frank T. Generic top-level domain re-routing system
US6744652B2 (en) * 2001-08-22 2004-06-01 Netlogic Microsystems, Inc. Concurrent searching of different tables within a content addressable memory
WO2003038683A1 (en) 2001-11-01 2003-05-08 Verisign, Inc. Transactional memory manager
US20030208511A1 (en) * 2002-05-02 2003-11-06 Earl Leroy D. Database replication system
US7310686B2 (en) 2002-10-27 2007-12-18 Paxfire, Inc. Apparatus and method for transparent selection of an Internet server based on geographic location of a user
US20050105513A1 (en) 2002-10-27 2005-05-19 Alan Sullivan Systems and methods for direction of communication traffic
US20050027882A1 (en) 2003-05-05 2005-02-03 Sullivan Alan T. Systems and methods for direction of communication traffic
US7769826B2 (en) 2003-06-26 2010-08-03 Nominum, Inc. Systems and methods of providing DNS services using separate answer and referral caches
US7761570B1 (en) 2003-06-26 2010-07-20 Nominum, Inc. Extensible domain name service
US7761678B1 (en) 2004-09-29 2010-07-20 Verisign, Inc. Method and apparatus for an improved file repository
US7685270B1 (en) 2005-03-31 2010-03-23 Amazon Technologies, Inc. Method and apparatus for measuring latency in web services
EP1891539A2 (en) 2005-05-24 2008-02-27 Paxfire, Inc. Enhanced features for direction of communication traffic
US7546368B2 (en) 2005-06-01 2009-06-09 Neustar, Inc. Systems and methods for isolating local performance variation in website monitoring
US7477575B2 (en) 2005-09-23 2009-01-13 Verisign, Inc. Redundant timer system and method
CA2637413A1 (en) 2006-01-20 2007-07-26 Paxfire, Inc. Systems and methods for discerning and controlling communication traffic
US8713188B2 (en) 2007-12-13 2014-04-29 Opendns, Inc. Per-request control of DNS behavior
US8606926B2 (en) 2006-06-14 2013-12-10 Opendns, Inc. Recursive DNS nameserver
WO2008021512A2 (en) 2006-08-17 2008-02-21 Neustar, Inc. System and method for handling jargon in communication systems
US20080133729A1 (en) 2006-08-17 2008-06-05 Neustar, Inc. System and method for managing domain policy for interconnected communication networks
US8234379B2 (en) 2006-09-14 2012-07-31 Afilias Limited System and method for facilitating distribution of limited resources
WO2008079433A1 (en) 2006-12-20 2008-07-03 Rowley, Richard Method and system for installing a root certificate on a computer with a root update mechanism
US7694016B2 (en) 2007-02-07 2010-04-06 Nominum, Inc. Composite DNS zones
US7925747B2 (en) 2007-10-18 2011-04-12 Neustar, Inc. System and method for sharing web performance monitoring data
US20090235359A1 (en) 2008-03-12 2009-09-17 Comodo Ca Limited Method and system for performing security and vulnerability scans on devices behind a network security device
US7925782B2 (en) 2008-06-30 2011-04-12 Amazon Technologies, Inc. Request routing using network computing components
US7991737B2 (en) * 2008-09-04 2011-08-02 Microsoft Corporation Synchronization of records of a table using bookmarks
US20090282028A1 (en) 2008-09-23 2009-11-12 Michael Subotin User Interface and Method for Web Browsing based on Topical Relatedness of Domain Names
US9172713B2 (en) 2008-09-24 2015-10-27 Neustar, Inc. Secure domain name system
US7930393B1 (en) 2008-09-29 2011-04-19 Amazon Technologies, Inc. Monitoring domain allocation performance
US9292612B2 (en) 2009-04-22 2016-03-22 Verisign, Inc. Internet profile service
US8521908B2 (en) 2009-04-07 2013-08-27 Verisign, Inc. Existent domain name DNS traffic capture and analysis
US8676989B2 (en) 2009-04-23 2014-03-18 Opendns, Inc. Robust domain name resolution
US8527945B2 (en) 2009-05-07 2013-09-03 Verisign, Inc. Method and system for integrating multiple scripts
US8510263B2 (en) 2009-06-15 2013-08-13 Verisign, Inc. Method and system for auditing transaction data from database operations
US8977705B2 (en) 2009-07-27 2015-03-10 Verisign, Inc. Method and system for data logging and analysis
US8380870B2 (en) 2009-08-05 2013-02-19 Verisign, Inc. Method and system for filtering of network traffic
US20110035497A1 (en) 2009-08-05 2011-02-10 Dynamic Network Services, Inc. System and method for providing global server load balancing
US8327019B2 (en) 2009-08-18 2012-12-04 Verisign, Inc. Method and system for intelligent routing of requests over EPP
US8175098B2 (en) 2009-08-27 2012-05-08 Verisign, Inc. Method for optimizing a route cache
US9047589B2 (en) 2009-10-30 2015-06-02 Verisign, Inc. Hierarchical publish and subscribe system
US8982882B2 (en) 2009-11-09 2015-03-17 Verisign, Inc. Method and system for application level load balancing in a publish/subscribe message architecture
US9286369B2 (en) 2009-12-30 2016-03-15 Symantec Corporation Data replication across enterprise boundaries

Also Published As

Publication number Publication date
KR20040053266A (ko) 2004-06-23
EA200400613A1 (ru) 2004-10-28
CA2466110A1 (en) 2003-05-08
KR100970122B1 (ko) 2010-07-13
US20030084038A1 (en) 2003-05-01
WO2003038596A1 (en) 2003-05-08
WO2003038653A1 (en) 2003-05-08
CN1610877A (zh) 2005-04-27
KR20040053255A (ko) 2004-06-23
NZ532773A (en) 2005-11-25
KR20040053268A (ko) 2004-06-23
US20090106211A1 (en) 2009-04-23
EP2477126A2 (en) 2012-07-18
EP2562661A2 (en) 2013-02-27
CN1610902B (zh) 2010-05-05
MXPA04004201A (es) 2005-01-25
MXPA04004202A (es) 2005-05-16
US20030084039A1 (en) 2003-05-01
EA200400614A1 (ru) 2004-10-28
US20120102016A1 (en) 2012-04-26
EP1451714B1 (en) 2018-05-02
AU2002356886A1 (en) 2003-05-12
MXPA04004203A (es) 2005-05-16
AU2002356884B2 (en) 2008-12-04
EP2477126A3 (en) 2013-09-11
AU2002350104B2 (en) 2008-12-04
US7203682B2 (en) 2007-04-10
IL161712A (en) 2011-02-28
EA006038B1 (ru) 2005-08-25
EP1451728A4 (en) 2009-08-05
EP1449062A4 (en) 2009-08-05
NO20042259L (no) 2004-08-02
CN100557595C (zh) 2009-11-04
IL161721A0 (en) 2005-11-20
BR0213862A (pt) 2004-12-21
CN1610877B (zh) 2010-06-02
US7047258B2 (en) 2006-05-16
EA006223B1 (ru) 2005-10-27
NZ532771A (en) 2005-12-23
KR20040053254A (ko) 2004-06-23
EA200400612A1 (ru) 2004-12-30
HK1075308A1 (en) 2005-12-09
EP1449062B1 (en) 2018-05-16
NO331574B1 (no) 2012-01-30
EP1451714A1 (en) 2004-09-01
WO2003038565A3 (en) 2004-02-26
BR0213807A (pt) 2004-12-07
CA2472014A1 (en) 2003-05-08
JP2005508042A (ja) 2005-03-24
CA2466117C (en) 2013-12-31
NO20042258L (no) 2004-08-02
CN1610906A (zh) 2005-04-27
EP2450812A1 (en) 2012-05-09
CA2466110C (en) 2011-04-19
IL161712A0 (en) 2004-09-27
MXPA04004169A (es) 2004-07-08
CN1610902A (zh) 2005-04-27
EP1449049A4 (en) 2009-10-28
US20030084074A1 (en) 2003-05-01
BR0213864A (pt) 2004-12-21
JP2005510782A (ja) 2005-04-21
ZA200404266B (en) 2005-10-26
IL161723A (en) 2010-06-30
WO2003038654A1 (en) 2003-05-08
KR100977161B1 (ko) 2010-08-20
US8630988B2 (en) 2014-01-14
CA2466107C (en) 2013-01-08
EP1449062A1 (en) 2004-08-25
EP1461723A4 (en) 2009-08-05
JP4420324B2 (ja) 2010-02-24
CN1610906B (zh) 2012-05-09
EP1451728A1 (en) 2004-09-01
US20140108452A1 (en) 2014-04-17
AU2002356885B2 (en) 2008-10-02
AU2002350106B2 (en) 2008-09-11
EA005646B1 (ru) 2005-04-28
NZ533166A (en) 2005-12-23
US20070100808A1 (en) 2007-05-03
EA200400618A1 (ru) 2004-10-28
EP2562661A3 (en) 2016-05-25
CN1610901A (zh) 2005-04-27
JP2005508051A (ja) 2005-03-24
US8682856B2 (en) 2014-03-25
KR100941350B1 (ko) 2010-02-11
NZ532772A (en) 2005-12-23
NO20042260L (no) 2004-08-02
WO2003038683A1 (en) 2003-05-08
CA2472014C (en) 2012-07-10
NO20042261L (no) 2004-08-02
IL161722A (en) 2009-07-20
US20030084057A1 (en) 2003-05-01
ZA200404267B (en) 2005-08-31
US8171019B2 (en) 2012-05-01
ZA200404268B (en) 2005-10-26
EP2503476A1 (en) 2012-09-26
US7167877B2 (en) 2007-01-23
EP1461723A1 (en) 2004-09-29
IL161721A (en) 2011-08-31
KR100953137B1 (ko) 2010-04-16
BR0213863A (pt) 2004-12-21
US20040254926A1 (en) 2004-12-16
EP1451714A4 (en) 2009-08-05
JP2005508050A (ja) 2005-03-24
IL161722A0 (en) 2005-11-20
JP4420325B2 (ja) 2010-02-24
ZA200403597B (en) 2005-10-26
US20030084075A1 (en) 2003-05-01
CA2466117A1 (en) 2003-05-08
WO2003038565A2 (en) 2003-05-08
EP2495671A1 (en) 2012-09-05
JP4399552B2 (ja) 2010-01-20
EP1449049A2 (en) 2004-08-25
US6681228B2 (en) 2004-01-20
JP4897196B2 (ja) 2012-03-14
CA2466107A1 (en) 2003-05-08
IL161723A0 (en) 2005-11-20

Similar Documents

Publication Publication Date Title
EA006045B1 (ru) Способ и система для обновления удаленной базы данных
US9417917B1 (en) Equitable resource allocation for storage object deletion
US9002805B1 (en) Conditional storage object deletion
AU2002350104A1 (en) Method and system for validating remote database
AU2002356885A1 (en) Method and system for updating a remote database
US9063946B1 (en) Backoff-based scheduling of storage object deletions
US20180276269A1 (en) Transaction processing in distributed database management system
CN1848849A (zh) 复制目录修改的方法和装置
JP4331970B2 (ja) データベースのスナップショット方法及びシステム
UA80540C2 (ru) Способ, система, устройство и носитель информации для проверки правильности обновления удаленной базы данных; способ проверки правильности записей в удаленной базе данных и правильности передачи данных через систему связи
UA79943C2 (ru) Способ и система для обновления удаленной базы данных (варианты)
CN118093773A (zh) 一种业务系统非结构化数据全文检索方法及系统
Neto Geo-Replicated Buckets: An Optrimistic Geo-Replicated Shim for Key-Value Store

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