EA006045B1 - Способ и система для обновления удаленной базы данных - Google Patents
Способ и система для обновления удаленной базы данных Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/40—Data acquisition and logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/953—Organization of data
- Y10S707/959—Network
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/964—Database arrangement
- Y10S707/966—Distributed
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99938—Concurrency, e.g. lock management in shared database
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
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. Способ обновления удаленной базы данных через сеть, включающий формирование множества периодических обновлений, основанных на добавочных изменениях в локальной базе данных, причем каждое из множества периодических обновлений содержит по меньшей мере одну транзакцию, передачу множества периодических обновлений в удаленную базу данных через сеть и, при формировании множества периодических обновлений, формирование инициализирующего обновления, содержащего версию локальной базы данных в момент времени запуска, определение последнего периодического обновления из множества периодических обновлений на основе момента времени запуска, определение последней транзакции на основе момента времени запуска и передачу через сеть в удаленную базу данных инициализирующего обновления, идентификатора последнего периодического обновления и идентификатора последней транзакции.
- 2. Способ по п.1, в котором передача инициализирующего обновления включает- 13 006045 сопоставление последнему периодическому обновлению идентификатора последнего периодического обновления и сопоставление последней транзакции идентификатора последней транзакции.
- 3. Способ по п.1, в котором множество периодических обновлений формируется с регулярными или нерегулярными интервалами времени.
- 4. Способ по п.1, в котором момент времени запуска формирования инициализирующего обновления идентичен моменту времени запуска формирования периодического обновления.
- 5. Способ по п.1, в котором момент времени запуска формирования инициализирующего обновления более поздний, чем момент времени запуска формирования периодического обновления.
- 6. Способ по п.1, в котором периодическое обновление содержит множество транзакций, каждая из которых имеет уникальный идентификатор транзакции.
- 7. Способ обновления удаленной базы данных через сеть, включающий получение через сеть множества периодических обновлений, основанных на добавочных изменениях в локальной базе данных, причем каждое из множества периодических обновлений содержит по меньшей мере одну транзакцию, получение через сеть инициализирующего обновления, содержащего версию локальной базы данных в момент времени запуска, считывание из инициализирующего обновления идентификатора последнего периодического обновления, считывание из инициализирующего обновления идентификатора последней транзакции, определение последнего периодического обновления из идентификатора последнего периодического обновления, причем упомянутое определение последнего периодического обновления основано на моменте времени запуска, определение последней транзакции из идентификатора последней транзакции, причем упомянутое определение последней транзакции основано на моменте времени запуска, применение к удаленной базе данных транзакций, сформированных после последней транзакции, и применение к удаленной базе данных периодических обновлений, сформированных после последнего периодического обновления.
- 8. Способ по п.7, дополнительно включающий отбрасывание периодических обновлений, сформированных до момента времени запуска инициализирующего обновления.
- 9. Способ по п.7, в котором множество периодических обновлений принимаются по одному в периодические интервалы времени.
- 10. Способ по п.7, в котором множество периодических обновлений принимаются в пакетах в периодические интервалы времени.
- 11. Способ по п.7, в котором периодическое обновление содержит множество транзакций, каждая из которых имеет уникальный идентификатор транзакции.
- 12. Способ обновления удаленной базы данных через сеть, включающий формирование множества периодических обновлений, основанных на добавочных изменениях в локальной базе данных, каждое из множества периодических обновлений содержит по меньшей мере одну транзакцию, и формирование инициализирующего обновления, содержащего версию локальной базы данных в момент времени запуска, идентификатор обновления, соответствующий последнему периодическому обновлению, сформированному до момента времени запуска, и идентификатор транзакции, соответствующий последней транзакции, завершенной до момента времени запуска.
- 13. Способ по п.12, в котором множество периодических обновлений формируются с регулярными интервалами времени.
- 14. Способ по п.12, в котором множество периодических обновлений формируются с нерегулярными интервалами времени.
- 15. Способ по п.12, в котором момент времени запуска формирования инициализирующего обновления идентичен моменту времени запуска формирования периодического обновления.
- 16. Способ по п.12, в котором момент времени запуска формирования инициализирующего обновления более поздний, чем момент времени запуска формирования периодического обновления.
- 17. Система для обновления удаленной базы данных через сеть, содержащая по меньшей мере один процессор, связанный с сетью, и память, связанную с процессором, которая содержит локальную базу данных и команды, адаптированные для выполнения процессором, для реализации способа обновления удаленной базы данных через сеть, при этом способ включает формирование множества периодических обновлений, основанных на добавочных изменениях в локальной базе данных, причем каждое из множества периодических обновлений содержит по меньшей мере одну транзакцию, передачу множества периодических обновлений в удаленную базу данных через сеть и,- 14 006045 при формировании множества периодических обновлений, формирование инициализирующего обновления, содержащего версию локальной базы данных в момент времени запуска, определение последнего периодического обновления из множества периодических обновлений на основе момента времени запуска, определение последней транзакции на основе момента времени запуска и передачу через сеть в удаленную базу данных инициализирующего обновления, идентификатора последнего периодического обновления и идентификатора последней транзакции.
- 18. Система по п.17, в которой передача инициализирующего обновления включает сопоставление последнему периодическому обновлению идентификатора последнего периодического обновления и сопоставление последней транзакции идентификатора последней транзакции.
- 19. Система по п.17, в которой множество периодических обновлений формируется с регулярными или нерегулярными интервалами времени.
- 20. Система по п.17, в которой момент времени запуска формирования инициализирующего обновления идентичен моменту времени запуска формирования периодического обновления.
- 21. Система по п.17, в которой момент времени запуска формирования инициализирующего обновления более поздний, чем момент времени запуска формирования периодического обновления.
- 22. Система по п.17, в которой периодическое обновление содержит множество транзакций, каждая из которых имеет уникальный идентификатор транзакции.
- 23. Система для обновления через сеть удаленной базы данных, содержащая по меньшей мере один процессор, связанный с сетью, и память, связанную с процессором, которая содержит локальную базу данных и команды, адаптированные для выполнения процессором, для реализации способа обновления удаленной базы данных через сеть, при этом способ включает получение через сеть множества периодических обновлений, основанных на добавочных изменениях в локальной базе данных, причем каждое из множества периодических обновлений содержит по меньшей мере одну транзакцию, получение через сеть инициализирующего обновления, содержащего версию локальной базы данных в момент времени запуска, считывание из инициализирующего обновления идентификатора последнего периодического обновления, считывание из инициализирующего обновления идентификатора последней транзакции, определение последнего периодического обновления из идентификатора последнего периодического обновления, причем последнее периодическое обновление основано на моменте времени запуска, определение последней транзакции из идентификатора последней транзакции, причем последняя транзакция основана на моменте времени запуска, применение к удаленной базе данных транзакций, сформированных после последней транзакции, и применение к удаленной базе данных периодических обновлений, сформированных после последнего периодического обновления.
- 24. Система по п.23, дополнительно включающая отбрасывание периодических обновлений, сформированных до момента времени запуска инициализирующего обновления.
- 25. Система по п.23, в которой множество периодических обновлений принимаются и по одному с регулярными или нерегулярными интервалами времени.
- 26. Система по п.2.3, в которой множество периодических обновлений принимаются в пакетах с регулярными или нерегулярными интервалами времени.
- 27. Система по п.23, в которой периодическое обновление содержит множество транзакций, каждая из которых имеет уникальный идентификатор транзакции, идентификаторы транзакций упорядочены случайным образом.
- 28. Носитель информации, считываемый компьютером, содержащий команды, адаптированные для выполнения процессором, для реализации способа обновления удаленной базы данных через сеть, причем способ включает формирование множества периодических обновлений, основанных на добавочных изменениях в локальной базе данных, каждое из множества периодических обновлений содержит по меньшей мере одну транзакцию, передачу множества периодических обновлений в удаленную базу данных через сеть и, при формировании множества периодических обновлений, формирование инициализирующего обновления, содержащего версию локальной базы данных в момент времени запуска, определение последнего периодического обновления из множества периодических обновлений на основе момента времени запуска,- 15 006045 определение последней транзакции на основе момента времени запуска, сопоставление последнему периодическому обновлению идентификатора последнего периодического обновления, сопоставление последней транзакции идентификатора последней транзакции и передачу через сеть в удаленную базу данных инициализирующего обновления, идентификатора последнего периодического обновления и идентификатора последней транзакции.
- 29. Носитель информации, считываемый компьютером, содержащий инструкции, адаптированные для выполнения процессором, для реализации способа обновления удаленной базы данных через сеть, причем способ включает получение через сеть множества периодических обновлений, основанных на добавочных изменениях в локальной базе данных, каждое из множества периодических обновлений содержит по меньшей мере одну транзакцию, получение через сеть инициализирующего обновления, содержащего версию локальной базы данных в момент времени запуска, считывание из инициализирующего обновления идентификатора последнего периодического обновления, считывание из инициализирующего обновления идентификатора последней транзакции, определение последнего периодического обновления из идентификатора последнего периодического обновления, причем последнее периодическое обновление основано на моменте времени запуска, определение последней транзакции из идентификатора последней транзакции, причем последняя транзакция основана на моменте времени запуска, применение к удаленной базе данных транзакций, сформированных после последней транзакции, и применение к удаленной базе данных периодических обновлений, сформированных после последнего периодического обновления.
- 30. Способ обновления удаленной базы данных через сеть, включающий формирование множества периодических обновлений, основанных на добавочных изменениях в локальной базе данных, причем каждое из множества периодических обновлений содержит по меньшей мере одну транзакцию, формирование инициализирующего обновления, содержащего версию локальной базы данных в момент времени запуска, и увязку инициализирующего обновления с периодическими обновлениями, идентификатор обновления, соответствующий последнему периодическому обновлению, сформированному до момента времени запуска, и идентификатор транзакции, однозначно соответствующий последней транзакции, завершенной до момента времени запуска.
- 31. Способ по п.30, в котором периодические обновления содержат обновления в сервере доменных имен.
- 32. Способ по п.30, в котором идентификатор обновления соответствует последнему периодическому обновлению в сервере доменных имен.
- 33. Способ по п.30, в котором идентификатор транзакции соответствует последней транзакции, завершенной в сервере доменных имен.
- 34. Формирователь обновлений, содержащий средство формирования множества периодических обновлений, основанных на добавочных изменениях в локальной базе данных, причем каждое из множества периодических обновлений содержит, по меньшей мере, одну транзакцию, и средство формирования инициализирующего обновления, содержащего версию локальной базы данных в момент времени запуска, идентификатор обновления, соответствующий последнему периодическому обновлению, сформированному до момента времени запуска, и идентификатор транзакции, соответствующий последней транзакции, завершенной до момента времени запуска.
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)
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)
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 |
-
2002
- 2002-11-01 WO PCT/US2002/035080 patent/WO2003038683A1/en active IP Right Grant
- 2002-11-01 AU AU2002356884A patent/AU2002356884B2/en not_active Ceased
- 2002-11-01 CA CA2466110A patent/CA2466110C/en not_active Expired - Fee Related
- 2002-11-01 EP EP02802516A patent/EP1449049A4/en not_active Withdrawn
- 2002-11-01 CA CA2466107A patent/CA2466107C/en not_active Expired - Fee Related
- 2002-11-01 EA EA200400618A patent/EA005646B1/ru not_active IP Right Cessation
- 2002-11-01 NZ NZ532772A patent/NZ532772A/en not_active IP Right Cessation
- 2002-11-01 AU AU2002350104A patent/AU2002350104B2/en not_active Expired
- 2002-11-01 US US10/285,575 patent/US6681228B2/en not_active Expired - Lifetime
- 2002-11-01 KR KR1020047006649A patent/KR100953137B1/ko not_active IP Right Cessation
- 2002-11-01 US US10/285,618 patent/US7203682B2/en not_active Expired - Lifetime
- 2002-11-01 EP EP12153543A patent/EP2503476A1/en not_active Withdrawn
- 2002-11-01 NZ NZ532773A patent/NZ532773A/en not_active IP Right Cessation
- 2002-11-01 CN CN02826620XA patent/CN1610902B/zh not_active Expired - Fee Related
- 2002-11-01 CN CN028266196A patent/CN1610877B/zh not_active Expired - Fee Related
- 2002-11-01 CN CNB028265114A patent/CN100557595C/zh not_active Expired - Fee Related
- 2002-11-01 IL IL16172102A patent/IL161721A0/xx unknown
- 2002-11-01 EA EA200400612A patent/EA006045B1/ru not_active IP Right Cessation
- 2002-11-01 IL IL16172302A patent/IL161723A0/xx unknown
- 2002-11-01 IL IL16172202A patent/IL161722A0/xx unknown
- 2002-11-01 JP JP2003540874A patent/JP4420325B2/ja not_active Expired - Fee Related
- 2002-11-01 EP EP12153314A patent/EP2450812A1/en not_active Withdrawn
- 2002-11-01 BR BR0213863-8A patent/BR0213863A/pt not_active Application Discontinuation
- 2002-11-01 CA CA2466117A patent/CA2466117C/en not_active Expired - Fee Related
- 2002-11-01 MX MXPA04004169A patent/MXPA04004169A/es active IP Right Grant
- 2002-11-01 BR BR0213862-0A patent/BR0213862A/pt not_active Application Discontinuation
- 2002-11-01 IL IL16171202A patent/IL161712A0/xx active IP Right Grant
- 2002-11-01 CA CA2472014A patent/CA2472014C/en not_active Expired - Fee Related
- 2002-11-01 KR KR1020047006689A patent/KR100941350B1/ko not_active IP Right Cessation
- 2002-11-01 JP JP2003540846A patent/JP4897196B2/ja not_active Expired - Fee Related
- 2002-11-01 NZ NZ532771A patent/NZ532771A/en not_active IP Right Cessation
- 2002-11-01 KR KR1020047006658A patent/KR100977161B1/ko not_active IP Right Cessation
- 2002-11-01 EP EP02786632A patent/EP1461723A4/en not_active Ceased
- 2002-11-01 WO PCT/US2002/035082 patent/WO2003038596A1/en active IP Right Grant
- 2002-11-01 WO PCT/US2002/035083 patent/WO2003038654A1/en active IP Right Grant
- 2002-11-01 AU AU2002356886A patent/AU2002356886A1/en not_active Abandoned
- 2002-11-01 JP JP2003540847A patent/JP4399552B2/ja not_active Expired - Fee Related
- 2002-11-01 AU AU2002350106A patent/AU2002350106B2/en not_active Expired
- 2002-11-01 EP EP12153315A patent/EP2495671A1/en not_active Withdrawn
- 2002-11-01 KR KR1020047006695A patent/KR100970122B1/ko not_active IP Right Cessation
- 2002-11-01 EA EA200400614A patent/EA006223B1/ru not_active IP Right Cessation
- 2002-11-01 US US10/285,549 patent/US7167877B2/en not_active Expired - Lifetime
- 2002-11-01 WO PCT/US2002/035081 patent/WO2003038653A1/en active IP Right Grant
- 2002-11-01 EP EP02802515.3A patent/EP1451714B1/en not_active Expired - Lifetime
- 2002-11-01 US US10/285,547 patent/US7047258B2/en not_active Expired - Lifetime
- 2002-11-01 NZ NZ533166A patent/NZ533166A/en not_active IP Right Cessation
- 2002-11-01 MX MXPA04004202A patent/MXPA04004202A/es active IP Right Grant
- 2002-11-01 EA EA200400613A patent/EA006038B1/ru not_active IP Right Cessation
- 2002-11-01 CN CN028265092A patent/CN1610906B/zh not_active Expired - Fee Related
- 2002-11-01 JP JP2003540792A patent/JP4420324B2/ja not_active Expired - Fee Related
- 2002-11-01 EP EP12175016.0A patent/EP2562661A3/en not_active Withdrawn
- 2002-11-01 EP EP11181796.1A patent/EP2477126A3/en not_active Withdrawn
- 2002-11-01 EP EP02802514A patent/EP1451728A4/en not_active Ceased
- 2002-11-01 AU AU2002356885A patent/AU2002356885B2/en not_active Expired
- 2002-11-01 US US10/285,544 patent/US20030084038A1/en not_active Abandoned
- 2002-11-01 BR BR0213807-7A patent/BR0213807A/pt not_active Application Discontinuation
- 2002-11-01 BR BR0213864-6A patent/BR0213864A/pt not_active Application Discontinuation
- 2002-11-01 MX MXPA04004201A patent/MXPA04004201A/es active IP Right Grant
- 2002-11-01 MX MXPA04004203A patent/MXPA04004203A/es active IP Right Grant
- 2002-11-01 EP EP02786633.4A patent/EP1449062B1/en not_active Expired - Lifetime
- 2002-11-01 WO PCT/US2002/035084 patent/WO2003038565A2/en not_active Application Discontinuation
-
2003
- 2003-10-01 US US10/674,820 patent/US8171019B2/en active Active
-
2004
- 2004-04-29 IL IL161712A patent/IL161712A/en not_active IP Right Cessation
- 2004-05-02 IL IL161722A patent/IL161722A/en unknown
- 2004-05-02 IL IL161721A patent/IL161721A/en active IP Right Grant
- 2004-05-02 IL IL161723A patent/IL161723A/en active IP Right Grant
- 2004-05-11 ZA ZA2004/03597A patent/ZA200403597B/en unknown
- 2004-05-31 ZA ZA2004/04268A patent/ZA200404268B/en unknown
- 2004-05-31 ZA ZA2004/04267A patent/ZA200404267B/en unknown
- 2004-05-31 ZA ZA2004/04266A patent/ZA200404266B/en unknown
- 2004-06-01 NO NO20042261A patent/NO20042261L/no not_active Application Discontinuation
- 2004-06-01 NO NO20042260A patent/NO331574B1/no not_active IP Right Cessation
- 2004-06-01 NO NO20042258A patent/NO20042258L/no not_active Application Discontinuation
- 2004-06-01 NO NO20042259A patent/NO20042259L/no not_active Application Discontinuation
-
2005
- 2005-08-25 HK HK05107484.3A patent/HK1075308A1/xx not_active IP Right Cessation
-
2006
- 2006-12-19 US US11/641,054 patent/US20070100808A1/en not_active Abandoned
-
2008
- 2008-12-10 US US12/331,498 patent/US8630988B2/en not_active Expired - Lifetime
-
2011
- 2011-11-09 US US13/292,833 patent/US8682856B2/en not_active Expired - Lifetime
-
2013
- 2013-12-20 US US14/136,831 patent/US20140108452A1/en not_active Abandoned
Also Published As
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 |