RU2005105759A - Эффективный алгоритм и протокол для удаленного дифференциального сжатия - Google Patents

Эффективный алгоритм и протокол для удаленного дифференциального сжатия Download PDF

Info

Publication number
RU2005105759A
RU2005105759A RU2005105759/09A RU2005105759A RU2005105759A RU 2005105759 A RU2005105759 A RU 2005105759A RU 2005105759/09 A RU2005105759/09 A RU 2005105759/09A RU 2005105759 A RU2005105759 A RU 2005105759A RU 2005105759 A RU2005105759 A RU 2005105759A
Authority
RU
Russia
Prior art keywords
signatures
list
remote
recursive
local
Prior art date
Application number
RU2005105759/09A
Other languages
English (en)
Other versions
RU2382511C2 (ru
Inventor
Дэн ТЕОДОСИУ (US)
Дэн ТЕОДОСИУ
Николай С. БЬОРНЕР (US)
Николай С. БЬОРНЕР
Патрик Э. БОУЗМАН (US)
Патрик Э. БОУЗМАН
Юрий ГУРЕВИЧ (US)
Юрий ГУРЕВИЧ
Original Assignee
Майкрософт Корпорейшн (Us)
Майкрософт Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Майкрософт Корпорейшн (Us), Майкрософт Корпорейшн filed Critical Майкрософт Корпорейшн (Us)
Publication of RU2005105759A publication Critical patent/RU2005105759A/ru
Application granted granted Critical
Publication of RU2382511C2 publication Critical patent/RU2382511C2/ru

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61MDEVICES FOR INTRODUCING MEDIA INTO, OR ONTO, THE BODY; DEVICES FOR TRANSDUCING BODY MEDIA OR FOR TAKING MEDIA FROM THE BODY; DEVICES FOR PRODUCING OR ENDING SLEEP OR STUPOR
    • A61M3/00Medical syringes, e.g. enemata; Irrigators
    • A61M3/02Enemata; Irrigators
    • A61M3/06Enemata; Irrigators combined with bidets
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99955Archiving or backup

Claims (77)

1. Система для обновления объектов через сеть связи между локальным устройством и удаленным устройством, содержащая средство для вычисления первой функции снятия опознавательного признака в каждом байтовом смещении первого объекта на удаленном устройстве; средство для разделения на порции первого объекта на удаленном устройстве на основе первой функции снятия опознавательного признака; средство для вычисления удаленной сигнатуры для каждой порции, ассоциированной с первым объектом, на удаленном устройстве; средство для формирования списка удаленных сигнатур и длин порций на удаленном устройстве, причем список удаленных сигнатур и длин порций ассоциирован с первым объектом; средство для вычисления второй функции снятия опознавательного признака в каждом байтовом смещении второго объекта на локальном устройстве, где первый и второй объекты ассоциированы друг с другом, и где первая функция снятия опознавательного признака соответствует второй функции снятия опознавательного признака; средство для разделения на порции второго объекта на основе второй функции снятия опознавательного признака на локальном устройстве, причем средство для разделения на порции первого объекта на удаленном устройстве сответствует средству для разделения на порции второго объекта на локальном устройстве; средство для вычисления локальной сигнатуры для каждой порции, ассоциированной со вторым объектом, на локальном устройстве, причем средство для вычисления локальной сигнатуры соответствует средству для вычисления удаленной сигнатуры; средство для формирования списка локальных сигнатур и длин порций на локальном устройстве, причем список локальных сигнатур и длин порций ассоциирован со вторым объектом; средство для согласования разделенной на порции передачи списка удаленных сигнатур и длин порций из удаленного устройства в локальное устройство через сеть таким образом, чтобы была минимизирована нагрузка пропускной способности для передачи списка удаленных сигнатур и длин порций в локальное устройство; средство для идентифицирования отличий между первым объектом и вторым объектом на локальном устройстве посредством сравнения списка локальных сигнатур и длин порций со списком удаленных сигнатур и длин порций; средство для запроса передачи по меньшей мере одной обновленной порции объекта из удаленного устройства, когда локальным устройством идентифицированы отличия между первым объектом и вторым объектом; средство для передачи упомянутой по меньшей мере одной обновленной порции объекта из удаленного устройства в локальное устройство через сеть; и средство для повторной сборки копии первого объекта с по меньшей мере одной обновленной порцией объекта на локальном устройстве.
2. Система по п.1, дополнительно содержащая средство для запроса обновления первого объекта из удаленного устройства.
3. Система по п.1, дополнительно содержащая средство для запроса обновления первого объекта из локального устройства.
4. Система по п.1, в которой согласование разделенной на порции передачи списка удаленных сигнатур и длин порций содержит передачу по меньшей мере части списка удаленных сигнатур и длин порций из удаленного устройства в локальное устройство.
5. Система по п.1, в которой одно из локального устройства и удаленного устройства является клиентом, а другое из локального устройства и удаленного устройства является сервером.
6. Система по п.1, в которой сетью является по меньшей мере одно из прямого кабельного соединения, параллельного порта, последовательного порта, порта универсальной последовательной шины (USB), порта IEEE 1394, беспроводного соединения, инфракрасного порта, порта Bluetooth, проводной сети, беспроводной сети, локальной сети, глобальной сети, ультра-глобальной сети, интернет, интранет и экстранет.
7. Система по п.1, в которой средство для вычисления локальной сигнатуры для каждой порции, ассоциированной со вторым объектом, на локальном устройстве содержит сильную хеш-функцию, которая применяется к порциям на локальном устройстве.
8. Система по п.1, в которой средство для идентифицирования отличий между первым объектом и вторым объектом на локальном устройстве содержит средство для сравнения списка удаленных сигнатур и длин порций со списком локальных сигнатур и длин порций; средство для идентифицирования по меньшей мере одного отличия между списком удаленных сигнатур и длин порций и списком локальных сигнатур и длин порций; средство для отображения упомянутого по меньшей мере одного отличия на список удаленных сигнатур и длин порций; и средство для идентифицирования упомянутой по меньшей мере одной обновленной порции объекта на основе отображения между упомянутым по меньшей мере одним отличием и списком удаленных сигнатур и длин порций.
9. Система по п.1, в которой средство для вычисления первой функции снятия опознавательного признака в каждом байтовом смещении первого объекта на удаленном устройстве содержит средство для обеспечения малого окна, которое является опорным, вокруг каждой позиции байта, ассоциированной с первым объектом; и средство для формирования опознавательного признака с использованием малого окна в каждой позиции байта.
10. Система по п.9, дополнительно содержащая средство для корректировки размера окна, ассоциированного с малым окном, на основе по меньшей мере одного из типа данных, ассоциированного с первым объектом, типа данных, ассоциированного со вторым объектом, накладываемого средой ограничения, ассоциированного с удаленным устройством, и накладываемого средой ограничения, ассоциированного с локальным устройством, характеристик сети, модели использования, ассоциированной с первым объектом, и модели использования, ассоциированной со вторым объектом.
11. Система по п.1, в которой первая функция снятия опознавательного признака содержит по меньшей мере одну из хэш-функции, использующей полином Рабина, хэш-функции с циклическим сдвигом, 32-битовой хэш-функции Адлера.
12. Система по п.1, в которой средство для разделения на порции первого объекта на удаленном устройстве содержит средство для определения по меньшей мере одного параметра разделения на порции.
13. Система по п.12, в которой средство для разделения на порции первого объекта на удаленном устройстве дополнительно содержит средство для определения горизонта разделения на порции на основе упомянутого по меньшей мере одного параметра разделения на порции; средство для вычисления значений хэш-функции в каждой позиции внутри первого объекта; средство для применения математической функции к значениям хэш-функции, расположенным в пределах горизонта разделения на порции вокруг каждой позиции внутри первого объекта; средство для обозначения по меньшей мере одного из точек нарезки и границ разделения на порции, когда математическая функция удовлетворена; и средство для разделения на порции первого объекта согласно обозначенным точкам нарезки.
14. Система по п.13, в которой математическая функция содержит по меньшей мере одно из определения максимального значения в пределах горизонта, определения минимального значения в пределах горизонта и оценки отличий между значениями хэш-функции в пределах горизонта.
15. Система по п.12, в которой средство для разделения на порции первого объекта на удаленном устройстве содержит средство для определения горизонта, инициирующего значения и списка других инициирующих условий на основе упомянутого по меньшей мере одного параметра разделения на порции; средство для вычисления значений хэш-функции в каждой позиции внутри первого объекта; средство для применения математической функции в отношении каждого вычисленного значения хэш-функции; средство для обозначения по меньшей мере одного из границ разделения на порции и точек нарезки, когда математическая функция принимает инициирующее значение в заданном смещении и принимает другие инициирующие условия во всех соответствующих смещениях, заданных горизонтом; и средство для разделения на порции первого объекта с помощью обозначенных точек нарезки.
16. Система по п.13, в которой математическая функция содержит по меньшей мере одну из предиката, который отображает значения хэш-функции в булево значение, и другой математической функции, которая разбивает значения хэш-функции на соответствующую малую область.
17. Система по п.12, дополнительно содержащая: средство для корректировки упомянутого по меньшей мере одного параметра разделения на порции на основе по меньшей мере одного из типа данных, ассоциированного с первым объектом, типа данных, ассоциированного со вторым объектом, накладываемого средой ограничения, ассоциированного с удаленным устройством, и накладываемого средой ограничения, ассоциированного с локальным устройством, характеристик сети, модели использования, ассоциированной с первым объектом, и модели использования, ассоциированной со вторым объектом.
18. Система по п.1, дополнительно содержащая средство для приема запроса на передачу упомянутой по меньшей мере одной обновленной порции объекта на удаленном устройстве; средство для извлечения упомянутой по меньшей мере одной обновленной порции объекта из второго объекта на удаленном устройстве в ответ на принятый запрос на передачу упомянутой по меньшей мере одной обновленной порции объекта; средство для передачи через сеть упомянутой по меньшей мере одной обновленной порции объекта удаленным устройством; средство для приема из сети связи упомянутой по меньшей мере одной обновленной порции объекта локальным устройством; и средство для обновления первого объекта упомянутой по меньшей мере одной обновленной порцией объекта на локальном устройстве.
19. Система по п.18, в которой средство для обновления первого объекта выполнено с возможностью обеспечения нового объекта на локальном устройстве, причем этот новый объект включает в себя упомянутую по меньшей мере одну обновленную порцию объекта.
20. Система по п.1, дополнительно содержащая средство для приема из сети упомянутой по меньшей мере одной обновленной порции объекта локальным устройством; и средство для сборки обновленного первого объекта с упомянутой по меньшей мере одной обновленной порцией объекта на локальном устройстве.
21. Система по п.20, в которой средство для сборки обновленного первого объекта дополнительно выполнено с той возможностью, чтобы обновленный первый объект включал в себя по меньшей мере одну неизмененную порцию из первого объекта.
22. Система по п.1, в которой средство для согласования разделенной на порции передачи списка удаленных сигнатур и длин порций из удаленного устройства в локальное устройство через сеть содержит средство для разделения на порции списка удаленных сигнатур и длин порций на удаленном устройстве для обеспечения разделенного на порции списка удаленных сигнатур и длин порций; средство для вычисления рекурсивной удаленной сигнатуры для каждой порции, ассоциированной с разделенным на порции списком удаленных сигнатур и длин порций, на удаленном устройстве; средство для формирования списка рекурсивных удаленных сигнатур и длин порций на удаленном устройстве с помощью рекурсивных удаленных сигнатур и разделенного на порции списка удаленных сигнатур и длин порций; средство для разделения на порции списка локальных сигнатур и длин порций на локальном устройстве, причем средство для разделения на порции списка локальных сигнатур и длин порций соответствует средству разделения на порции списка удаленных сигнатур и длин порций; средство для вычисления рекурсивной локальной сигнатуры для каждой порции, ассоциированной с разделенным на порции списком локальных сигнатур и длин порций, на локальном устройстве, причем средство для вычисления рекурсивной локальной сигнатуры соответствует средству для вычисления рекурсивной удаленной сигнатуры; средство для формирования списка рекурсивных локальных сигнатур и длин порций на локальном устройстве с помощью рекурсивных локальных сигнатур и разделенного на порции списка локальных сигнатур и длин порций, причем средство для формирования списка рекурсивных локальных сигнатур и длин порций соответствует средству для формирования списка рекурсивных удаленных сигнатур и длин порций; средство для согласования передачи списка рекурсивных удаленных сигнатур и длин порций из удаленного устройства в локальное устройство через сеть так, чтобы была минимизирована нагрузка пропускной способности для передачи в локальное устройство списка рекурсивных удаленных сигнатур и длин порций; средство для идентифицирования отличий между списком рекурсивных удаленных сигнатур и длин порций и списком рекурсивных локальных сигнатур и длин порций на локальном устройстве; средство для запроса передачи по меньшей мере одной обновленной порции сигнатуры из удаленного устройства, когда локальным устройством идентифицированы отличия между списком рекурсивных удаленных сигнатур и длин порций и списком рекурсивных локальных сигнатур и длин порций; средство для передачи упомянутой по меньшей мере одной обновленной порции сигнатуры из удаленного устройства в локальное устройство через сеть, причем запрошенная по меньшей мере одна обновленная порция сигнатуры ассоциирована со списком удаленных сигнатур и длин порций; и средство для сборки копии списка удаленных сигнатур и длин порций на локальном устройстве с упомянутой по меньшей мере одной обновленной порцией сигнатуры.
23. Система по п.22, в которой средство для согласования передачи списка рекурсивных удаленных сигнатур и длин порций из удаленного устройства в локальное устройство содержит: передачу по меньшей мере части списка рекурсивных удаленных сигнатур и длин порций из удаленного устройства в локальное устройство через сеть.
24. Система по п.22, в которой средство для разделения на порции списка удаленных сигнатур и длин порций на удаленном устройстве содержит средство для вычисления третьей функции снятия опознавательного признака в каждом байтовом смещении списка удаленных сигнатур и длин порций на удаленном устройстве; и средство для разделения на порции списка удаленных сигнатур и длин порций на удаленном устройстве на основе третьей функции снятия опознавательного признака, для обеспечения разделенного на порции списка удаленных сигнатур и длин порций.
25. Система по п.24, в которой средство для разделения на порции списка локальных сигнатур и длин порций на локальном устройстве содержит средство для вычисления четвертой функции снятия опознавательного признака в каждом байтовом смещении списка локальных сигнатур и длин порций на локальном устройстве, причем четвертая функция снятия опознавательного признака соответствует третьей функции снятия опознавательного признака; и средство для разделения на порции списка локальных сигнатур и длин порций на локальном устройстве на основе четвертой функции снятия опознавательного признака, для обеспечения разделенного на порции списка локальных сигнатур и длин порций, причем средство для разделения на порции списка локальных сигнатур и длин порций на локальном устройстве соответствует средству для разделения на порции списка удаленных сигнатур и длин порций на удаленном устройстве.
26. Система по п.25, в которой средство для вычисления третьей функции снятия опознавательного признака и средство для разделения на порции списка удаленных сигнатур и длин порций на удаленном устройстве применяют методику, отличную от средства для вычисления первой функции снятия опознавательного признака и средства для разделения на порции первого объекта на удаленном устройстве.
27. Система по п.24, в которой средство для вычисления третьей функции снятия опознавательного признака и средство для разделения на порции списка удаленных сигнатур и длин порций на удаленном устройстве применяют методику, идентичную средству для вычисления первой функции снятия опознавательного признака и средству для разделения на порции первого объекта на удаленном устройстве.
28. Система по п.24, в которой средство для вычисления третьей функции снятия опознавательного признака в каждом байтовом смещении списка удаленных сигнатур и длин порций на удаленном устройстве содержит средство для обеспечения малого окна, которое является опорным, вокруг каждой позиции байта, ассоциированной со списком удаленных сигнатур и длин порций; и средство для формирования опознавательного признака с использованием малого окна в каждой позиции байта.
29. Система по п.28, дополнительно содержащая: средство для корректировки размера окна, ассоциированного с малым окном, на основе по меньшей мере одного из типа данных, ассоциированного с первым объектом, типа данных, ассоциированного со вторым объектом, накладываемого средой ограничения, ассоциированного с удаленным устройством, и накладываемого средой ограничения, ассоциированного с локальным устройством, характеристик сети, модели использования, ассоциированной с первым объектом, и модели использования, ассоциированной со вторым объектом.
30. Система по п.24, в которой третья функция снятия опознавательного признака содержит по меньшей мере одну из хэш-функции, использующей полином Рабина, хэш-функции с циклическим сдвигом, 32-битовой хэш-функции Адлера.
31. Система по п.22, в которой средство для разделения на порции списка удаленных сигнатур и длин порций на удаленном устройстве содержит средство для определения по меньшей мере одного рекурсивного параметра разделения на порции.
32. Система по п.31, в которой средство для разделения на порции списка удаленных сигнатур и длин порций на удаленном устройстве дополнительно содержит средство для определения рекурсивного горизонта разделения на порции на основе упомянутого по меньшей мере одного рекурсивного параметра разделения на порции; средство для вычисления значений хэш-функции в каждой позиции внутри списка удаленных сигнатур и длин порций; средство для применения математической функции к значениям хэш-функции, расположенным в пределах рекурсивного горизонта разделения на порции вокруг каждой позиции внутри списка удаленных сигнатур и длин порций; средство для обозначения точек нарезки в границах разделения на порции, когда математическая функция удовлетворена; и средство для разделения на порции списка удаленных сигнатур и длин порций с помощью обозначенных точек нарезки.
33. Система по п.31, в которой средство для разделения на порции списка удаленных сигнатур и длин порций на удаленном устройстве дополнительно содержит средство для определения рекурсивного горизонта, рекурсивного инициирующего значения и списка других рекурсивных инициирующих условий на основе упомянутого по меньшей мере одного рекурсивного параметра разделения на порции; средство для вычисления значений хэш-функции в каждой позиции внутри списка удаленных сигнатур и длин порций; средство для применения математической функции в отношении каждого вычисленного значения хэш-функции; средство для обозначения по меньшей мере одного из точек нарезки и границ разделения на порции, когда математическая функция принимает рекурсивное инициирующее значение в заданном смещении и принимает другие рекурсивные инициирующие условия во всех соответствующих смещениях, заданных рекурсивным горизонтом; и средство для разделения на порции списка удаленных сигнатур и длин порций с помощью обозначенных точек нарезки.
34. Система по п.32, в которой математическая функция содержит по меньшей мере одну из: предиката, который отображает значения хэш-функции в булевы значения, и любой другой математической функции, которая разбивает значения хэш-функции на соответствующую малую область.
35. Система по п.32, в которой математическая функция содержит по меньшей мере одно из: определения максимального значения в пределах горизонта, определения минимального значения в пределах горизонта, оценки отличий между значениями хэш-функции в пределах горизонта, суммирования значений хэш-функции в пределах горизонта и вычисления среднего значений хэш-функции в пределах горизонта.
36. Система по п.33, дополнительно содержащая средство для корректировки упомянутого по меньшей мере одного рекурсивного параметра разделения на порции на основе по меньшей мере одного из типа данных, ассоциированного с первым объектом, типа данных, ассоциированного со вторым объектом, накладываемого средой ограничения, ассоциированного с удаленным устройством, и накладываемого средой ограничения, ассоциированного с локальным устройством, характеристик сети, модели использования, ассоциированной с первым объектом, и модели использования, ассоциированной со вторым объектом.
37. Система по п.29, в которой средство для вычисления рекурсивной удаленной сигнатуры для каждой порции сигнатуры, ассоциированной с разделенным на порции списком удаленных сигнатур и длин порций, на удаленном устройстве содержит сильную хеш-функцию, которая применяется к порциям сигнатуры на удаленном устройстве.
38. Система по п.22, дополнительно содержащая средство для приема запроса на передачу упомянутой по меньшей мере одной обновленной порции сигнатуры на удаленном устройстве; средство для извлечения упомянутой по меньшей мере одной обновленной порции сигнатуры из списка удаленных сигнатур и длин порций на удаленном устройстве в ответ на принятый запрос на передачу упомянутой по меньшей мере одной обновленной порции сигнатуры; средство для передачи через сеть упомянутой по меньшей мере одной обновленной порции сигнатуры удаленным устройством; средство для приема из сети упомянутой по меньшей мере одной обновленной порции сигнатуры локальным устройством; и средство для сборки копии списка удаленных сигнатур и длин порций на локальном устройстве с упомянутой по меньшей мере одной обновленной порцией сигнатуры.
39. Система по п.38, в которой средство для сборки списка локальных сигнатур и длин порций выполнено с возможностью обеспечения новой копии списка удаленных сигнатур и длин порций на локальном устройстве, причем эта новая копия списка удаленных сигнатур и длин порций включает в себя упомянутую по меньшей мере одну обновленную порцию сигнатуры.
40. Система по п.22, дополнительно содержащая средство для приема из сети упомянутой по меньшей мере одной обновленной порции сигнатуры локальным устройством; и средство для сборки копии списка удаленных сигнатур и длин порций на локальном устройстве с упомянутой по меньшей мере одной обновленной порцией сигнатуры.
41. Система по п.38, в которой средство для сборки копии списка удаленных сигнатур и длин порций дополнительно выполнено с той возможностью, чтобы копия списка удаленных сигнатур и длин порций включала в себя по меньшей мере одну неизмененную порцию из списка локальных сигнатур и длин порций.
42. Система по п.22, в которой средство для идентифицирования отличий между списком рекурсивных удаленных сигнатур и длин порций и списком рекурсивных локальных сигнатур и длин порций на локальном устройстве содержит средство для сравнения списка рекурсивных удаленных сигнатур и длин порций со списком рекурсивных локальных сигнатур и длин порций; средство для идентифицирования по меньшей мере одной порции сигнатуры, ассоциированной с отличием между списком рекурсивных удаленных сигнатур и длин порций и списком рекурсивных локальных сигнатур и длин порций; средство для отображения упомянутой по меньшей мере одной порции сигнатуры на список удаленных сигнатур и длин порций; и средство для идентифицирования упомянутой по меньшей мере одной обновленной порции сигнатуры на основе отображения между упомянутой по меньшей мере одной порцией сигнатуры и списком удаленных сигнатур и длин порций.
43. Система по п.1, в которой средство для согласования разделенной на порции передачи списка удаленных сигнатур и длин порций из удаленного устройства в локальное устройство через сеть содержит средство для определения количества итераций для рекурсивной обработки на основе по меньшей мере одного из: размера данных, ассоциированного с первым объектом, размера данных, ассоциированных со вторым объектом, накладываемого средой ограничения, ассоциированного с удаленным устройством, и накладываемого средой ограничения, ассоциированного с локальным устройством, характеристик сети, модели использования, ассоциированной с первым объектом, и модели использования, ассоциированной со вторым объектом, количества сигнатур порций, ассоциированных с первым объектом, и количества сигнатур порций, ассоциированных с разделенным на порции списком удаленных сигнатур и длин порций.
44. Система по п.43, дополнительно содержащая рекурсивную процедуру обработки списка сигнатур и длин порций, содержащую средство для разделения на порции списка сигнатур и длин порций для обеспечения разделенного на порции списка сигнатур и длин порций; средство для вычисления рекурсивной сигнатуры для каждой порции, ассоциированной с разделенным на порции списком сигнатур и длин порций; средство для формирования списка рекурсивных сигнатур и длин порций с помощью рекурсивных сигнатур и разделенного на порции списка сигнатур и длин порций; средство для инициализации списка сигнатур и длин порций списком рекурсивных сигнатур и длин порций, когда для рекурсивной обработки требуются дополнительные итерации; и средство для возврата списка рекурсивных сигнатур и длин порций, когда рекурсивная процедура выполнила упомянутое количество итераций; средство для обработки списка удаленных сигнатур и длин порций с помощью рекурсивной процедуры на удаленном устройстве посредством передачи списка удаленных сигнатур и длин порций в рекурсивную процедуру в качестве списка сигнатур и списка длин порций и посредством возврата из рекурсивной процедуры списка рекурсивных удаленных сигнатур и длин порций; и средство для обработки списка локальных сигнатур и длин порций с помощью рекурсивной процедуры на локальном устройстве посредством передачи списка локальных сигнатур и длин порций в рекурсивную процедуру в качестве списка сигнатур и длин порций, и возврата из рекурсивной процедуры списка рекурсивных локальных сигнатур и длин порций.
45. Система по п.1, в которой средство для формирования списка удаленных сигнатур и длин порций на удаленном устройстве дополнительно выполнено с возможностью компактного кодирования списка удаленных сигнатур и длин порций.
46. Система по п.1, в которой средство для формирования списка локальных сигнатур и длин порций на локальном устройстве дополнительно выполнено с возможностью компактного кодирования списка локальных сигнатур и длин порций.
47. Система по п.22, в которой средство для формирования списка рекурсивных удаленных сигнатур и длин порций на удаленном устройстве дополнительно выполнено с возможностью компактного кодирования списка рекурсивных удаленных сигнатур и длин порций.
48. Система по п.22, в которой средство для формирования списка рекурсивных локальных сигнатур и длин порций на локальном устройстве дополнительно выполнено с возможностью компактного кодирования списка рекурсивных локальных сигнатур и длин порций.
49. Машиночитаемый носитель информации, имеющий машиноисполняемые инструкции для обновления объектов через среду связи между локальным устройством и удаленным устройством, содержащие разделение на порции первого объекта на удаленном устройстве, вычисление сигнатуры для каждой порции, ассоциированной с первым объектом, на удаленном устройстве для обеспечения удаленных сигнатур, сборку списка удаленных сигнатур и длин порций на удаленном устройстве из удаленных сигнатур, формирование списка рекурсивных удаленных сигнатур и длин порций на удаленном устройстве посредством разделения на порции списка удаленных сигнатур и длин порций, вычисления сигнатуры для каждой порции, ассоциированной с разделенным на порции списком удаленных сигнатур и длин порций, на удаленном устройстве для обеспечения рекурсивных удаленных сигнатур, и сборки списка рекурсивных удаленных сигнатур и длин порций на удаленном устройстве с помощью рекурсивных удаленных сигнатур, разделение на порции второго объекта на локальном устройстве, вычисление сигнатуры для каждой порции, ассоциированной со вторым объектом, на локальном устройстве для обеспечения локальных сигнатур, сборку списка локальных сигнатур и длин порций на локальном устройстве из локальных сигнатур так, чтобы список локальных сигнатур и длин порций соответствовал списку удаленных сигнатур и длин порций, когда первый объект соответствует второму объекту, формирование списка рекурсивных локальных сигнатур и длин порций на локальном устройстве посредством разделения на порции списка локальных сигнатур и длин порций, вычисления сигнатуры для каждой порции, ассоциированной с разделенным на порции списком локальных сигнатур и длин порций, для обеспечения рекурсивных локальных сигнатур, и сборки списка рекурсивных локальных сигнатур и длин порций на удаленном устройстве с помощью рекурсивных локальных сигнатур, согласование передачи списка рекурсивных удаленных сигнатур и длин порций из удаленного устройства в локальное устройство через среду связи так, чтобы была минимизирована нагрузка пропускной способности для передачи в локальное устройство списка рекурсивных удаленных сигнатур и длин порций, идентифицирование по меньшей мере одного отличия между первым объектом и вторым объектом, посредством сравнения списка рекурсивных удаленных сигнатур и длин порций и списка рекурсивных локальных сигнатур и длин порций на локальном устройстве для идентифицирования отличия, отображения отличия на по меньшей мере одну порцию, ассоциированную со вторым объектом, обновление первого объекта на локальном устройстве посредством запроса передачи по меньшей мере одной порции из удаленного устройства, приема передачи из удаленного устройства через среду связи, причем эта передача включает в себя упомянутую по меньшей мере одну порцию, и сборки объекта с упомянутой по меньшей мере одной порцией.
50. Машиночитаемый носитель информации по п.49, в котором разделение на порции первого объекта на удаленном устройстве содержит применение функции снятия опознавательного признака к первому объекту для формирования первого набора опознавательных признаков и разбиение первого объекта на первый набор порций на основе первого набора опознавательных признаков.
51. Машиночитаемый носитель информации по п.50, в котором разделение на порции второго объекта на локальном устройстве содержит применение функции снятия опознавательного признака ко второму объекту для формирования второго набора опознавательных признаков и разбиение второго объекта на второй набор порций на основе второго набора опознавательных признаков.
52. Машиночитаемый носитель информации по п.49, в котором средой связи является по меньшей мере одно из: прямого кабельного соединения, параллельного порта, последовательного порта, порта универсальной последовательной шины (USB), порта IEEE 1394, беспроводного соединения, инфракрасного порта, порта Bluetooth, проводной сети, беспроводной сети, локальной сети, глобальной сети, ультра-глобальной сети, интернет, интранет и экстранет.
53. Машиночитаемый носитель информации по п.50, в котором функция снятия опознавательного признака содержит обеспечение окна, которое является опорным, вокруг каждой позиции байта первого объекта и вычисление значения хэш-функции от значений байтов, которые расположены в окне.
54. Машиночитаемый носитель информации по п.53, дополнительно содержащий корректировку размера окна, ассоциированного с окном, на основе по меньшей мере одного из типа данных, ассоциированного с первым объектом, типа данных, ассоциированного со вторым объектом, накладываемого средой ограничения, ассоциированного с удаленным устройством, и накладываемого средой ограничения, ассоциированного с локальным устройством, характеристик среды связи, модели использования, ассоциированной с первым объектом, и модели использования, ассоциированной со вторым объектом.
55. Машиночитаемый носитель информации по п.49, в котором идентифицирование по меньшей мере одного отличия между первым объектом и вторым объектом дополнительно содержит идентифицирование обновленной порции сигнатуры на удаленном устройстве на основе отличия, запрос передачи обновленной порции сигнатуры из удаленного устройства в локальное устройство через среду связи, прием из среды связи обновленной порции сигнатуры на локальном устройстве, и сборку обновленного списка сигнатур и длин порций на локальном устройстве с обновленной порцией сигнатуры.
56. Машиночитаемый носитель информации по п.55, в котором отображение отличия по меньшей на одну порцию, ассоциированную со вторым объектом, содержит сравнение обновленного списка сигнатур и длин порций со списком локальных сигнатур и длин порций для идентифицирования по меньшей мере одной обновленной порции на удаленном устройстве.
57. Машиночитаемый носитель информации по п.49, в котором разделение на порции списка удаленных сигнатур и длин порций на удаленном устройстве содержит применение функции снятия опознавательного признака к списку удаленных сигнатур и длин порций для формирования первого набора опознавательных признаков и разбиение списка удаленных сигнатур и длин порций на первый набор порций на основе первого набора опознавательных признаков.
58. Машиночитаемый носитель информации по п.57, в котором разделение на порции списка локальных сигнатур и длин порций на локальном устройстве содержит применение функции снятия опознавательного признака к списку локальных сигнатур и длин порций для формирования второго набора опознавательных признаков и разбиение списка локальных сигнатур и длин порций на второй набор порций на основе второго набора опознавательных признаков.
59. Машиночитаемый носитель информации по п.57, в котором функция снятия опознавательного признака содержит обеспечение окна, которое является опорным, вокруг каждой позиции байта списка удаленных сигнатур и длин порций и вычисление значения хэш-функции от значений байтов, которые расположены в окне.
60. Машиночитаемый носитель информации по п.59, дополнительно содержащий корректировку размера окна, ассоциированного с окном, на основе по меньшей мере одного из типа данных, ассоциированного с первым объектом, типа данных, ассоциированного со вторым объектом, накладываемого средой ограничения, ассоциированного с удаленным устройством, и накладываемого средой ограничения, ассоциированного с локальным устройством, характеристик среды связи, модели использования, ассоциированной с первым объектом, и модели использования, ассоциированной со вторым объектом.
61. Машиночитаемый носитель информации по п.60, в котором разделение на порции списка удаленных сигнатур и длин порций на удаленном устройстве содержит определение по меньшей мере одного рекурсивного параметра разделения на порции, определение по меньшей мере одного рекурсивного горизонта и по меньшей мере одного рекурсивного инициирующего значения на основе упомянутого по меньшей мере одного рекурсивного параметра разделения на порции, вычисление значений хэш-функции в каждой позиции внутри списка удаленных сигнатур и длин порций, применение математической функции в отношении каждого вычисленного значения хэш-функции, обозначение границ разделения на порции, когда математическая функция принимает по меньшей мере одно рекурсивное инициирующее значение в заданном смещении, и разделение на порции списка удаленных сигнатур и длин порций с помощью обозначенных точек нарезки.
62. Машиночитаемый носитель информации по п.61, в котором математическая функция сконфигурирована как предикат, который отображает значения хэш-функции в булевы значения, первая функция, которая разбивает значения хэш-функции в малую область, вторая функция, которая определяет максимальное значение в пределах горизонта, третья функция, которая определяет минимальное значение в пределах горизонта, четвертая функция, которая оценивает отличия между значениями хэш-функции в пределах горизонта, пятая функция, которая суммирует значения хэш-функции в пределах горизонта, и шестая функция, которая вычисляет среднее значение хэш-функции в пределах горизонта.
63. Машиночитаемый носитель информации по п.61, дополнительно содержащий корректировку упомянутого по меньшей мере одного рекурсивного параметра разделения на порции на основе по меньшей мере одного из: типа данных, ассоциированного с первым объектом, типа данных, ассоциированного со вторым объектом, накладываемого средой ограничения, ассоциированного с удаленным устройством, и накладываемого средой ограничения, ассоциированного с локальным устройством, характеристик среды связи, модели использования, ассоциированной с первым объектом, и модели использования, ассоциированной со вторым объектом.
64. Реализуемый компьютером способ обновления объектов через канал связи между локальным устройством и удаленным устройством, содержащий разделение на порции первого объекта на удаленном устройстве, вычисление сигнатуры для каждой порции, ассоциированной с первым объектом, на удаленном устройстве для обеспечения удаленных сигнатур, сборку списка удаленных сигнатур и длин порций на удаленном устройстве из удаленных сигнатур, разделение на порции второго объекта на локальном устройстве на основе вычисленной функции снятия опознавательного признака, вычисление сигнатуры для каждой порции, ассоциированной со вторым объектом, на локальном устройстве для обеспечения локальных сигнатур, сборку списка локальных сигнатур и длин порций на локальном устройстве из локальных сигнатур так, чтобы список локальных сигнатур и длин порций соответствовал списку удаленных сигнатур и длин порций, когда первый объект соответствует второму объекту, обеспечение рекурсивной процедуры как на локальном устройстве, так и на удаленном устройстве, причем рекурсивная процедура сконфигурирована для обработки назначенного ей списка сигнатур и длин порций посредством разделения на порции назначенного списка сигнатур и длин порций для обеспечения разделенного на порции списка сигнатур и длин порций, вычисления рекурсивной сигнатуры для каждой порции, ассоциированной с разделенным на порции списком сигнатур и длин порций, формирования списка рекурсивных сигнатур и длин порций с помощью рекурсивных сигнатур и разделенного на порции списка сигнатур и длин порций, инициализации назначенного списка сигнатур и длин порций списком рекурсивных сигнатур и длин порций, когда для рекурсивной обработки требуются дополнительные итерации, и возврата списка рекурсивных сигнатур и длин порций, когда рекурсивная процедура выполнила требуемое количество итераций, формирования списка рекурсивных удаленных сигнатур и длин порций на удаленном устройстве посредством передачи списка удаленных сигнатур и длин порций в рекурсивную процедуру в качестве назначенного списка сигнатур и длин порций и возврата списка рекурсивных удаленных сигнатур и длин порций из рекурсивной процедуры, формирования списка рекурсивных локальных сигнатур и длин порций на локальном устройстве посредством передачи списка локальных сигнатур и длин порций в рекурсивную процедуру в качестве назначенного списка сигнатур и длин порций и возврата списка рекурсивных локальных сигнатур и длин порций из рекурсивной процедуры, передачи списка рекурсивных удаленных сигнатур и длин порций из удаленного устройства в локальное устройство через канал связи, идентифицирования по меньшей мере одного отличия между первым объектом и вторым объектом посредством сравнения принятого списка рекурсивных удаленных сигнатур и длин порций со списком рекурсивных локальных сигнатур и длин порций, идентифицирования по меньшей мере одной обновленной порции, ассоциированной со вторым объектом, на основе упомянутого по меньшей мере одного отличия, и обновления первого объекта на локальном устройстве посредством запроса передачи упомянутой по меньшей мере одной обновленной порции из удаленного устройства, приема передачи из удаленного устройства через канал связи, причем передача включает в себя упомянутую по меньшей мере одну обновленную порцию, сборки объекта с упомянутой по меньшей мере одной обновленной порцией.
65. Реализуемый компьютером способ по п.64, в котором разделение на порции первого объекта на удаленном устройстве содержит применение функции снятия опознавательного признака к первому объекту для формирования первого набора опознавательных признаков и разбиение первого объекта на первый набор порций на основе первого набора опознавательных признаков.
66. Реализуемый компьютером способ по п.65, в котором разделение на порции второго объекта на локальном устройстве содержит применение функции снятия опознавательного признака ко второму объекту для формирования второго набора опознавательных признаков и разбиение второго объекта на второй набор порций на основе второго набора опознавательных признаков.
67. Реализуемый компьютером способ по п.64, в котором каналом связи является по меньшей мере один из: прямого кабельного соединения, параллельного порта, последовательного порта, порта универсальной последовательной шины (USB), порта IEEE 1394, беспроводного соединения, инфракрасного порта, порта Bluetooth, проводной сети, беспроводной сети, локальной сети, глобальной сети, ультра-глобальной сети, интернет, интранет и экстранет.
68. Реализуемый компьютером способ по п.64, в котором идентифицирование по меньшей мере одной порции, ассоциированной со вторым объектом, на основе упомянутого по меньшей мере одного отличия содержит идентифицирование по меньшей мере одной рекурсивной порции принятого списка рекурсивных удаленных сигнатур и длин порций, которая отлична от списка рекурсивных локальных сигнатур и длин порций, отображение упомянутой по меньшей мере одной рекурсивной порции на по меньшей мере одну порцию списка удаленных сигнатур и длин порций, запрос передачи упомянутой по меньшей мере одной порции списка удаленных сигнатур и длин порций из удаленного устройства, прием передачи из удаленного устройства через канал связи, причем эта передача включает в себя упомянутую по меньшей мере одну порцию списка удаленных сигнатур и длин порций, и сборку обновленного списка сигнатур и длин порций на основе принятой по меньшей мере одной порции списка удаленных сигнатур и длин порций.
69. Реализуемый компьютером способ по п.68, в котором идентифицирование по меньшей мере одной порции, ассоциированной со вторым объектом, на основе упомянутого по меньшей мере одного отличия содержит сравнение обновленного списка сигнатур и длин порций со списком локальных сигнатур и длин порций для идентифицирования упомянутой по меньшей мере одной обновленной порции на удаленном устройстве.
70. Реализуемый компьютером способ по п.64, в котором разделение на порции назначенного списка сигнатур и длин порций содержит применение функции снятия опознавательного признака к назначенному списку сигнатур и длин порций для формирования набора опознавательных признаков и разбиение назначенного списка сигнатур и длин порций на набор порций на основе набора опознавательных признаков.
71. Реализуемый компьютером способ по п.70, в котором функция снятия опознавательного признака содержит обеспечение окна, которое является опорным, вокруг каждой позиции байта, ассоциированной с назначенным списком сигнатур и длин порций, и вычисление значения хэш-функции от значений байтов, которые расположены в этом окне.
72. Реализуемый компьютером способ по п.71, дополнительно содержащий: корректировку размера окна, ассоциированного с окном, на основе по меньшей мере одного из: типа данных, ассоциированного с первым объектом, типа данных, ассоциированного со вторым объектом, накладываемого средой ограничения, ассоциированного с удаленным устройством, и накладываемого средой ограничения, ассоциированного с локальным устройством, характеристик канала связи, модели использования, ассоциированной с первым объектом, и модели использования, ассоциированной со вторым объектом.
73. Реализуемый компьютером способ по п.64, в котором разделение на порции назначенного списка сигнатур и длин порций для обеспечения разделенного на порции списка сигнатур и длин порций содержит определение по меньшей мере одного рекурсивного параметра разделения на порции, определение по меньшей мере одного из рекурсивного горизонта, рекурсивного инициирующего значения и списка рекурсивных инициирующих условий на основе упомянутого по меньшей мере одного рекурсивного параметра разделения на порции, вычисление значений хэш-функции в каждой позиции внутри назначенного списка сигнатур и длин порций, применение математической функции к значениям хэш-функции, расположенным внутри горизонта разделения на порции вокруг каждой позиции внутри назначенного списка сигнатур и длин порций, обозначение по меньшей мере одного из точек нарезки и границ разделения на порции, когда математическая функция удовлетворена, и разделение на порции назначенного списка сигнатур и длин порций с помощью обозначенных точек нарезки.
74. Реализуемый компьютером способ по п.73, в котором математическая функция сконфигурирована как предикат, который отображает значения хэш-функции в булевы значения, первая функция, которая разбивает значения хэш-функции в малую область, вторая функция, которая определяет максимальное значение в пределах горизонта, третья функция, которая определяет минимальное значение в пределах горизонта, четвертая функция, которая оценивает отличия между значениями хэш-функции в пределах горизонта, пятая функция, которая суммирует значения хэш-функции в пределах горизонта, и шестая функция, которая вычисляет среднее значение хэш-функции в пределах горизонта.
75. Реализуемый компьютером способ по п.73, дополнительно содержащий корректировку упомянутого по меньшей мере одного рекурсивного параметра разделения на порции на основе по меньшей мере одного из типа данных, ассоциированного с первым объектом, типа данных, ассоциированного со вторым объектом, накладываемого средой ограничения, ассоциированного с удаленным устройством, и накладываемого средой ограничения, ассоциированного с локальным устройством, характеристик среды связи, модели использования, ассоциированной с первым объектом, и модели использования, ассоциированной со вторым объектом.
76. Реализуемый компьютером способ по п.64, дополнительно содержащий определение количества итераций, требуемого для рекурсивной обработки, на основе по меньшей мере одного из размера данных, ассоциированного с первым объектом, размера данных, ассоциированных со вторым объектом, накладываемого средой ограничения, ассоциированного с удаленным устройством, и накладываемого средой ограничения, ассоциированного с локальным устройством, характеристик канала связи, модели использования, ассоциированной с первым объектом, модели использования, ассоциированной со вторым объектом, количества сигнатур порций, ассоциированных с первым объектом, и количества сигнатур порций, ассоциированных с разделенным на порции списком удаленных сигнатур и длин порций.
77. Реализуемый компьютером способ по п.64, в котором количество итераций, требуемое для рекурсивной обработки, соответствует по меньшей мере одной итерации.
RU2005105759/09A 2004-04-15 2005-03-01 Эффективный алгоритм и протокол для удаленного дифференциального сжатия RU2382511C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/825,735 US7555531B2 (en) 2004-04-15 2004-04-15 Efficient algorithm and protocol for remote differential compression
US10/825,735 2004-04-15

Publications (2)

Publication Number Publication Date
RU2005105759A true RU2005105759A (ru) 2006-08-10
RU2382511C2 RU2382511C2 (ru) 2010-02-20

Family

ID=34939140

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2005105759/09A RU2382511C2 (ru) 2004-04-15 2005-03-01 Эффективный алгоритм и протокол для удаленного дифференциального сжатия

Country Status (18)

Country Link
US (1) US7555531B2 (ru)
EP (2) EP1587007A3 (ru)
JP (1) JP4796315B2 (ru)
KR (1) KR100922674B1 (ru)
CN (2) CN102170455B (ru)
AU (1) AU2005201386B2 (ru)
BR (1) BRPI0501166A (ru)
CA (1) CA2500894C (ru)
CO (1) CO5680121A1 (ru)
IL (1) IL167467A (ru)
MX (1) MXPA05002949A (ru)
MY (1) MY144798A (ru)
NO (1) NO20051344L (ru)
NZ (1) NZ538839A (ru)
RU (1) RU2382511C2 (ru)
SG (1) SG116576A1 (ru)
TW (1) TWI360336B (ru)
ZA (1) ZA200502115B (ru)

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060047855A1 (en) * 2004-05-13 2006-03-02 Microsoft Corporation Efficient chunking algorithm
US7555531B2 (en) 2004-04-15 2009-06-30 Microsoft Corporation Efficient algorithm and protocol for remote differential compression
US20050256974A1 (en) * 2004-05-13 2005-11-17 Microsoft Corporation Efficient algorithm and protocol for remote differential compression on a remote device
US20050262167A1 (en) * 2004-05-13 2005-11-24 Microsoft Corporation Efficient algorithm and protocol for remote differential compression on a local device
US8870639B2 (en) 2004-06-28 2014-10-28 Winview, Inc. Methods and apparatus for distributed gaming over a mobile device
US8376855B2 (en) 2004-06-28 2013-02-19 Winview, Inc. Methods and apparatus for distributed gaming over a mobile device
US10226698B1 (en) 2004-07-14 2019-03-12 Winview, Inc. Game of skill played by remote participants utilizing wireless devices in connection with a common game event
US7613787B2 (en) * 2004-09-24 2009-11-03 Microsoft Corporation Efficient algorithm for finding candidate objects for remote differential compression
US20070094348A1 (en) * 2005-01-07 2007-04-26 Microsoft Corporation BITS/RDC integration and BITS enhancements
US8073926B2 (en) * 2005-01-07 2011-12-06 Microsoft Corporation Virtual machine image server
US7849462B2 (en) * 2005-01-07 2010-12-07 Microsoft Corporation Image server
US20060184784A1 (en) * 2005-02-16 2006-08-17 Yosi Shani Method for secure transference of data
US20060277322A1 (en) * 2005-06-03 2006-12-07 Nokia Corporation System and method for implementing reference-based electronic mail compression
US10721543B2 (en) 2005-06-20 2020-07-21 Winview, Inc. Method of and system for managing client resources and assets for activities on computing devices
JP2008547122A (ja) 2005-06-20 2008-12-25 エアプレイ ネットワーク インコーポレイテッド サービス提供方法、データ受信方法、データ提供システム、クライアント装置及びサーバ装置
US20070070999A1 (en) * 2005-08-02 2007-03-29 Black Jeffrey T Synchronization of historical data without retransmission
US8149530B1 (en) 2006-04-12 2012-04-03 Winview, Inc. Methodology for equalizing systemic latencies in television reception in connection with games of skill played in connection with live television programming
US9511287B2 (en) 2005-10-03 2016-12-06 Winview, Inc. Cellular phone games based upon television archives
US9919210B2 (en) 2005-10-03 2018-03-20 Winview, Inc. Synchronized gaming and programming
US8705195B2 (en) 2006-04-12 2014-04-22 Winview, Inc. Synchronized gaming and programming
US8002618B1 (en) 2006-01-10 2011-08-23 Winview, Inc. Method of and system for conducting multiple contests of skill with a single performance
US9056251B2 (en) 2006-01-10 2015-06-16 Winview, Inc. Method of and system for conducting multiple contests of skill with a single performance
US10556183B2 (en) 2006-01-10 2020-02-11 Winview, Inc. Method of and system for conducting multiple contest of skill with a single performance
US20070226298A1 (en) * 2006-03-24 2007-09-27 Sap Ag. Methods and systems providing metadata in service signatures
US11082746B2 (en) 2006-04-12 2021-08-03 Winview, Inc. Synchronized gaming and programming
KR101381551B1 (ko) 2006-05-05 2014-04-11 하이버 인크 그룹 기반의 완료 및 증분 컴퓨터 파일 백업 시스템, 프로세스 및 장치
US7617322B2 (en) * 2006-09-29 2009-11-10 Microsoft Corporation Secure peer-to-peer cache sharing
US7844581B2 (en) * 2006-12-01 2010-11-30 Nec Laboratories America, Inc. Methods and systems for data management using multiple selection criteria
US8214517B2 (en) * 2006-12-01 2012-07-03 Nec Laboratories America, Inc. Methods and systems for quick and efficient data management and/or processing
US7954008B2 (en) * 2007-01-15 2011-05-31 Microsoft Corporation Objective assessment of application crashes from a customer environment
EP2651090B1 (en) * 2007-03-12 2015-01-14 Citrix Systems, Inc. System and method for improving compression history matches by removing application layer protocol headers
US7532134B2 (en) 2007-03-12 2009-05-12 Citrix Systems, Inc. Systems and methods for sharing compression histories between multiple devices
US7865585B2 (en) 2007-03-12 2011-01-04 Citrix Systems, Inc. Systems and methods for providing dynamic ad hoc proxy-cache hierarchies
US8255570B2 (en) 2007-03-12 2012-08-28 Citrix Systems, Inc. Systems and methods of compression history expiration and synchronization
US7619545B2 (en) 2007-03-12 2009-11-17 Citrix Systems, Inc. Systems and methods of using application and protocol specific parsing for compression
AU2012203797B2 (en) * 2007-03-12 2015-05-07 Citrix Systems, Inc. Systems and methods for using compression histories to improve network performance
US7460038B2 (en) 2007-03-12 2008-12-02 Citrix Systems, Inc. Systems and methods of clustered sharing of compression histories
US7827237B2 (en) 2007-03-12 2010-11-02 Citrix Systems, Inc. Systems and methods for identifying long matches of data in a compression history
US8819288B2 (en) * 2007-09-14 2014-08-26 Microsoft Corporation Optimized data stream compression using data-dependent chunking
US8813112B1 (en) 2007-10-23 2014-08-19 Winview, Inc. Method of and apparatus for utilizing SMS while running an application on a mobile device controlling a viewer's participation with a broadcast
US8200969B2 (en) * 2008-01-31 2012-06-12 Hewlett-Packard Development Company, L.P. Data verification by challenge
US8375396B2 (en) * 2008-01-31 2013-02-12 Hewlett-Packard Development Company, L.P. Backup procedure with transparent load balancing
CA2713876C (en) 2008-02-26 2014-11-04 Vmware, Inc. Extending server-based desktop virtual machine architecture to client machines
JP2009245089A (ja) * 2008-03-31 2009-10-22 Fujitsu Ltd 分散オブジェクト・プログラム及びレプリケーション処理方法
FR2929778B1 (fr) * 2008-04-07 2012-05-04 Canon Kk Procedes et dispositifs de codage et de decodage binaire iteratif pour documents de type xml.
WO2009132261A1 (en) 2008-04-25 2009-10-29 Vmware, Inc. Updating a file using differences and file format therefor
US8527482B2 (en) * 2008-06-06 2013-09-03 Chrysalis Storage, Llc Method for reducing redundancy between two or more datasets
US8255806B2 (en) 2008-09-15 2012-08-28 Vmware, Inc. Unified secure virtual machine player and remote desktop client
US9716918B1 (en) 2008-11-10 2017-07-25 Winview, Inc. Interactive advertising system
US8380663B2 (en) 2008-12-17 2013-02-19 Sybase, Inc. Data integrity in a database environment through background synchronization
US8977765B1 (en) * 2009-02-27 2015-03-10 Symantec Corporation Method and apparatus for streaming applications to a plurality of clients within a peer to-peer network
US8583625B2 (en) * 2009-03-20 2013-11-12 The Trustees Of Princeton Systems and methods for network acceleration and efficient indexing for caching file systems
US8805953B2 (en) * 2009-04-03 2014-08-12 Microsoft Corporation Differential file and system restores from peers and the cloud
US20100268784A1 (en) * 2009-04-17 2010-10-21 Marc Henness Data synchronization system and method
US20100318759A1 (en) * 2009-06-15 2010-12-16 Microsoft Corporation Distributed rdc chunk store
US8321484B2 (en) * 2010-02-26 2012-11-27 Microsoft Corporation Minimizing bandwidth in file path-centric protocol message
US8909657B2 (en) 2011-01-14 2014-12-09 Apple Inc. Content based file chunking
FR2972546B1 (fr) 2011-03-07 2013-03-08 Bull Sas Procedes, dispositifs et programmes d'ordinateur pour optimiser la replication de donnees dans des systemes informatiques
EP2645286A1 (en) * 2012-03-09 2013-10-02 ABB Research Ltd. Authentication in an industrial control system
US8832375B2 (en) 2012-05-24 2014-09-09 International Business Machines Corporation Object type aware byte caching
US8856445B2 (en) 2012-05-24 2014-10-07 International Business Machines Corporation Byte caching with chunk sizes based on data type
CN103580982B (zh) * 2012-07-19 2017-12-15 腾讯科技(深圳)有限公司 代收电子邮件的方法、装置及系统
US9626373B2 (en) * 2012-10-01 2017-04-18 Western Digital Technologies, Inc. Optimizing data block size for deduplication
US9235475B1 (en) 2013-03-05 2016-01-12 Emc Corporation Metadata optimization for network replication using representative of metadata batch
US9110964B1 (en) * 2013-03-05 2015-08-18 Emc Corporation Metadata optimization for network replication using differential encoding
KR101479864B1 (ko) * 2013-11-08 2015-01-06 주식회사 엘지유플러스 멀티미디어 청크(chunk)를 수신하는 통신 단말기 및 그 제어방법과, 그 제어방법을 실행하기 위한 프로그램을 기록한 기록 매체
SG11201604498XA (en) * 2013-12-09 2016-07-28 Sony Corp Data processing device and data processing method
CN105024970B (zh) * 2014-04-18 2018-07-13 中国电信股份有限公司 移动应用数据拷贝的控制方法、系统、客户端和服务器
US10924904B2 (en) 2014-12-02 2021-02-16 Lg Electronics Inc. Method and apparatus for performing object transfer service by using bluetooth communication in wireless communication system
US9973597B1 (en) * 2014-12-10 2018-05-15 Amazon Technologies, Inc. Differential dictionary compression of network-accessible content
US10574751B2 (en) 2016-03-22 2020-02-25 International Business Machines Corporation Identifying data for deduplication in a network storage environment
US11551529B2 (en) 2016-07-20 2023-01-10 Winview, Inc. Method of generating separate contests of skill or chance from two independent events
CN107783990B (zh) * 2016-08-26 2021-11-19 华为技术有限公司 一种数据压缩方法及终端
CN107468240B (zh) * 2017-09-18 2024-05-07 山东正心医疗科技有限公司 手持式心电监护系统
US11308765B2 (en) 2018-10-08 2022-04-19 Winview, Inc. Method and systems for reducing risk in setting odds for single fixed in-play propositions utilizing real time input
CN110443156B (zh) * 2019-07-16 2022-03-25 浙江大华技术股份有限公司 轨迹相似度度量方法、数据处理设备及存储设备
US11262927B2 (en) 2019-07-30 2022-03-01 Sony Interactive Entertainment LLC Update optimization using feedback on probability of change for regions of data
US11307841B2 (en) * 2019-07-30 2022-04-19 Sony Interactive Entertainment LLC Application patching using variable-sized units
US11449325B2 (en) 2019-07-30 2022-09-20 Sony Interactive Entertainment LLC Data change detection using variable-sized data chunks
CN110740352B (zh) * 2019-11-14 2021-07-20 北京京航计算通讯研究所 显卡透传环境下基于spice协议的差异图像显示方法
CN110868614B (zh) * 2019-11-14 2021-09-28 北京京航计算通讯研究所 显卡透传环境下基于spice协议的差异图像显示系统
US11681659B2 (en) * 2021-05-21 2023-06-20 Red Hat, Inc. Hybrid file compression model

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5446888A (en) * 1994-01-14 1995-08-29 Pyne; Charles F. Remote file transfer method and apparatus
US5488364A (en) * 1994-02-28 1996-01-30 Sam H. Eulmi Recursive data compression
US5486826A (en) * 1994-05-19 1996-01-23 Ps Venture 1 Llc Method and apparatus for iterative compression of digital data
WO1996025801A1 (en) * 1995-02-17 1996-08-22 Trustus Pty. Ltd. Method for partitioning a block of data into subblocks and for storing and communicating such subblocks
US5933104A (en) * 1995-11-22 1999-08-03 Microsoft Corporation Method and system for compression and decompression using variable-sized offset and length fields
EP1229740A3 (en) * 1996-01-22 2005-02-09 Matsushita Electric Industrial Co., Ltd. Method and device for digital image encoding and decoding
US5794254A (en) * 1996-12-03 1998-08-11 Fairbanks Systems Group Incremental computer file backup using a two-step comparison of first two characters in the block and a signature with pre-stored character and signature sets
US5987022A (en) * 1996-12-27 1999-11-16 Motorola, Inc. Method for transmitting multiple-protocol packetized data
US6374250B2 (en) * 1997-02-03 2002-04-16 International Business Machines Corporation System and method for differential compression of data from a plurality of binary sources
AU6151598A (en) 1997-02-11 1998-08-26 Connected Corporation File comparison for data backup and file synchronization
US6226629B1 (en) * 1997-02-28 2001-05-01 Compaq Computer Corporation Method and apparatus determining and using hash functions and hash values
US6449612B1 (en) * 1998-03-17 2002-09-10 Microsoft Corporation Varying cluster number in a scalable clustering system for use with large databases
US6052531A (en) * 1998-03-25 2000-04-18 Symantec Corporation Multi-tiered incremental software updating
US6317754B1 (en) * 1998-07-03 2001-11-13 Mitsubishi Electric Research Laboratories, Inc System for user control of version /Synchronization in mobile computing
US6952823B2 (en) * 1998-09-01 2005-10-04 Pkware, Inc. Software patch generator using compression techniques
EP1121655B1 (en) * 1998-10-16 2006-07-12 Computer Associates Think, Inc. Accessing a hierarchical data store through an sql input
US6819271B2 (en) * 1999-01-29 2004-11-16 Quickshift, Inc. Parallel compression and decompression system and method having multiple parallel compression and decompression engines
US6574657B1 (en) * 1999-05-03 2003-06-03 Symantec Corporation Methods and apparatuses for file synchronization and updating using a signature list
US6791982B2 (en) * 1999-09-29 2004-09-14 Telefonaktiebolaget Lm Ericsson Segmentation protocol that supports compressed segmentation headers
EP1168174A1 (en) * 2000-06-19 2002-01-02 Hewlett-Packard Company, A Delaware Corporation Automatic backup/recovery process
AU2001272970A1 (en) * 2000-06-22 2002-01-02 Synchrologic, Inc. A system and method for file transmission using file differentiation
US6470329B1 (en) * 2000-07-11 2002-10-22 Sun Microsystems, Inc. One-way hash functions for distributed data synchronization
US7058941B1 (en) * 2000-11-14 2006-06-06 Microsoft Corporation Minimum delta generator for program binaries
CA2414281C (en) 2000-11-17 2009-06-02 Bitfone Corporation System and method for updating and distributing information
US7054912B2 (en) * 2001-03-12 2006-05-30 Kabushiki Kaisha Toshiba Data transfer scheme using caching technique for reducing network load
US20020152219A1 (en) * 2001-04-16 2002-10-17 Singh Monmohan L. Data interexchange protocol
US8041803B2 (en) * 2001-09-26 2011-10-18 Qurio Holdings, Inc. Method and system for delivering files in digital file marketplace
MXPA04004645A (es) 2001-11-16 2004-08-12 Koninkl Philips Electronics Nv Metodo, cliente y servidor para actualizar base de datos de huellas digitales.
US7370120B2 (en) * 2001-12-07 2008-05-06 Propel Software Corporation Method and system for reducing network latency in data communication
EP1326189A3 (en) * 2001-12-12 2005-08-17 Microsoft Corporation Controls and displays for acquiring preferences, inspecting behaviour, and guiding the learning and decision policies of an adaptive communications prioritization and routing systems
US6947604B2 (en) * 2002-01-17 2005-09-20 Intel Corporation Method and hardware to implement two-dimensional compression
US7188160B2 (en) * 2002-01-22 2007-03-06 Ericsson Ab Method and apparatus for updating network device configuration information in a network management system
JP4020676B2 (ja) * 2002-03-26 2007-12-12 株式会社東芝 Webシステム及びWebシステムの制御方法
JP3848209B2 (ja) * 2002-05-23 2006-11-22 株式会社東芝 データ転送装置、データ転送方法及びプログラム
US7360093B2 (en) * 2002-07-22 2008-04-15 Xerox Corporation System and method for authentication of JPEG image data
US20040039716A1 (en) * 2002-08-23 2004-02-26 Thompson Dean S. System and method for optimizing a computer program
JP2004094617A (ja) * 2002-08-30 2004-03-25 Fujitsu Ltd 差分圧縮によるバックアップ方法、システム及び差分圧縮方法
US7099884B2 (en) * 2002-12-06 2006-08-29 Innopath Software System and method for data compression and decompression
US20060047855A1 (en) * 2004-05-13 2006-03-02 Microsoft Corporation Efficient chunking algorithm
US7555531B2 (en) 2004-04-15 2009-06-30 Microsoft Corporation Efficient algorithm and protocol for remote differential compression
US20050256974A1 (en) * 2004-05-13 2005-11-17 Microsoft Corporation Efficient algorithm and protocol for remote differential compression on a remote device
US20050262167A1 (en) * 2004-05-13 2005-11-24 Microsoft Corporation Efficient algorithm and protocol for remote differential compression on a local device
US7613787B2 (en) * 2004-09-24 2009-11-03 Microsoft Corporation Efficient algorithm for finding candidate objects for remote differential compression
WO2006052904A2 (en) * 2004-11-08 2006-05-18 Innopath Software, Inc. Updating compressed read-only memory file system (cramfs) images
US7640363B2 (en) * 2005-02-16 2009-12-29 Microsoft Corporation Applications for remote differential compression

Also Published As

Publication number Publication date
CN102170455A (zh) 2011-08-31
EP1587007A2 (en) 2005-10-19
BRPI0501166A (pt) 2005-12-06
EP1587007A3 (en) 2007-04-18
MXPA05002949A (es) 2005-10-19
AU2005201386A1 (en) 2005-10-27
IL167467A (en) 2010-11-30
EP2444909A2 (en) 2012-04-25
TW200537881A (en) 2005-11-16
KR20060043620A (ko) 2006-05-15
AU2005201386B2 (en) 2010-06-17
RU2382511C2 (ru) 2010-02-20
US20050235043A1 (en) 2005-10-20
CN1684464B (zh) 2011-07-27
CN102170455B (zh) 2015-12-16
CO5680121A1 (es) 2006-09-29
NO20051344D0 (no) 2005-03-15
NO20051344L (no) 2005-10-17
JP4796315B2 (ja) 2011-10-19
SG116576A1 (en) 2005-11-28
JP2005302004A (ja) 2005-10-27
US7555531B2 (en) 2009-06-30
KR100922674B1 (ko) 2009-10-19
ZA200502115B (en) 2007-08-29
CA2500894A1 (en) 2005-10-15
CN1684464A (zh) 2005-10-19
TWI360336B (en) 2012-03-11
MY144798A (en) 2011-11-15
NZ538839A (en) 2007-07-27
CA2500894C (en) 2013-07-02

Similar Documents

Publication Publication Date Title
RU2005105759A (ru) Эффективный алгоритм и протокол для удаленного дифференциального сжатия
JP2005302004A5 (ru)
JP4961126B2 (ja) リモート差分圧縮のための候補オブジェクトを見つける効率のよいアルゴリズム
US20190087168A1 (en) Dynamic data difference generation and distribution
EP3620931B1 (en) Searching for data using superset tree data structures
US20090271528A1 (en) Efficient chunking algorithm
CN104573064B (zh) 一种大数据环境下的数据处理方法
US9917894B2 (en) Accelerating transfer protocols
US10459886B2 (en) Client-side deduplication with local chunk caching
WO2020085557A1 (ko) 저전력 무선네트워크를 이용한 펌웨어 업데이트 방법
US10339124B2 (en) Data fingerprint strengthening
CN109542926B (zh) 区块处理方法及计算机存储介质
CN113220644B (zh) 一种文件处理方法、装置、设备及存储介质
US11436088B2 (en) Methods for managing snapshots in a distributed de-duplication system and devices thereof
US20230229642A1 (en) Data indexing and deduplication using content-defined trees
US9866619B2 (en) Transmission of hierarchical data files based on content selection
US11016933B2 (en) Handling weakening of hash functions by using epochs
CA2568284A1 (en) Method and apparatus for synchronizing databases connected by wireless interface
TH71599A (th) อัลกอริทึมและโปรโตคอลที่มีประสิทธิภาพสำหรับการบีบอัดข้อมูลเชิงอนุพันธ์ระยะไกล
TH53782B (th) อัลกอริทึมและโปรโตคอลที่มีประสิทธิภาพสำหรับการบีบอัดข้อมูลเชิงอนุพันธ์ระยะไกล
WO2016138619A1 (zh) 一种数据增量更新方法
KR20200045931A (ko) 펌웨어 패키징 및 언패키징 방법

Legal Events

Date Code Title Description
PC41 Official registration of the transfer of exclusive right

Effective date: 20150306

MM4A The patent is invalid due to non-payment of fees

Effective date: 20210302