Сжатие данных - RU2005104018A

Код документа: RU2005104018A

Реферат

1. Способ, содержащий сжатие данных для передачи в среде терминальных служб, при этом находят индекс в поисковой таблице, который совпадает с первоначальной последовательностью в данных, причем поисковая таблица содержит совокупность ячеек, причем каждая ячейка доступна с использованием конкретного одного из совокупности индексов, и каждая ячейка указывает, находится ли соответствующий индекс в буфере истории, и, если да, дополнительно указывает одно или несколько положений соответствующего индекса в буфере истории, и если соответствующая ячейка совпадающего индекса указывает совокупность положений, для каждого положения, сравнивают последовательность в положении, имеющем совпадающий индекс, с последовательностью в данных, причем упомянутая последовательность содержит первоначальную последовательность, получают совпадающую последовательность из сравнения на основании, по меньшей мере, одного из длины и положения последовательности в каждом положении, и представляют совпадающую последовательность с использованием представления, которое включает в себя длину и положение совпадающей последовательности в буфере истории.

2. Способ по п.1, дополнительно содержащий этапы, на которых находят один индекс в поисковой таблице для каждой последовательности в данных, формируют сжатые данные, которые содержат одно или несколько представлений, и передают сжатые данные в потоковом режиме.

3. Способ по п.1, в котором соответствующая ячейка совпадающего индекса указывает цепочку хэширования, которая содержит каждое положение совпадающего индекса в буфере истории.

4. Способ по п.1, в котором и первоначальная последовательность, и индекс состоит, по меньшей мере, из двух байтов.

5. Способ по п.1, дополнительно содержащий этапы, на которых формируют сжатые данные, содержащие представление, и передают в потоковом режиме сжатые данные по сети, причем данные отформатированы в виде одного или нескольких пакетов.

6. Способ по п.1, дополнительно содержащий этап, на котором кодируют, по меньшей мере, одно из длины и положения представления с использованием методики кодирования, выбранной из группы, состоящей из кодирования по Хаффману, арифметического кодирования, префиксного кодирования и кодирования по Маркову.

7. Способ по п.1, в котором если соответствующая ячейка совпадающего индекса не указывает никакого положения, кодируют первоначальную последовательность путем кодирования по Хаффману, если соответствующая ячейка совпадающего индекса указывает единственное положение, сравнивают последовательность в этом единственном положении, имеющем совпадающий индекс, с последовательностью в данных, получают совпадающую последовательность из сравнения на основании, по меньшей мере, одного из длины и положения последовательности в упомянутом единственном положении и представляют совпадающую последовательность с использованием представления, содержащего длину и упомянутое единственное положение совпадающей последовательности, в буфере истории, и когда каждая последовательность данных представлена или закодирована, передают в потоковом режиме данные, имеющие кодирование или представление.

8. Способ по п.1, в котором сравнение для получения совпадающей последовательности осуществляют с использованием одного или нескольких порогов, выбранных из группы, состоящей из количества положений, имеющих совпадающий индекс, подлежащий сравнению, размера значения, которое описывает каждое положение, имеющее совпадающий индекс, и размера значения, которое описывает длину последовательности в каждом положении, которая совпадает с последовательностью в данных, которая содержит совпадающий индекс.

9. Способ по п.1, дополнительно содержащий этап, на котором применяют стоимостную функцию для определения того, использует ли представление меньше памяти при сохранении, чем совпадающая последовательность, и если да, то формируют сжатые данные, содержащие представление.

10. Способ по п.1, дополнительно содержащий этап, на котором определяют, совпадает ли положение совпадающей последовательности с одним из совокупности положений в таблице наиболее давнего использования (НДИ), причем каждое положение в таблице НДИ имеет соответствующее представление НДИ, каждое положение в таблице НДИ описывает одно из совокупности наиболее давно использованных положений последовательностей в данных, ранее переданных в потоковом режиме, и если положение совпадающей последовательности включено в таблицу НДИ, то положение совпадающей последовательности кодируют с помощью соответствующего представления НДИ из таблицы НДИ.

11. Один или несколько машиночитаемых носителей, содержащих машиноисполняемые команды, которые при выполнении осуществляют способ по п.1.

12. Способ, содержащий сжатие данных для передачи в среде терминальных служб, при этом добавляют данные в буфер истории, обновляют поисковую таблицу, которая указывает на буфер истории, для включения добавленных данных, причем поисковая таблица содержит совокупность ячеек, причем каждая ячейка доступна с использованием конкретного одного из совокупности индексов, и каждая ячейка указывает, находится ли соответствующий индекс в буфере истории, и если да, дополнительно указывает одно или несколько положений соответствующего индекса в буфере истории, устанавливают текущий указатель на добавленные данные в буфере истории, находят один индекс в поисковой таблице, который совпадает с первоначальной последовательностью по текущему указателю, если соответствующая ячейка совпадающего индекса указывает совокупность положений, сравнивают последовательность в каждом положении, имеющем совпадающий индекс, с последовательностью в добавленных входных данных, которые содержат первоначальную последовательность, получают совпадающую последовательность из сравнения, представляют совпадающую последовательность с помощью представления, которое включает в себя положение и длину совпадающей последовательности, в буфере истории, применяют стоимостную функцию для определения того, использует ли представление меньший объем памяти при сохранении, чем совпадающая последовательность, если да, конфигурируют данные так, чтобы они включали в себя представление, и перемещают вперед текущий указатель на длину совпадающей последовательности, в противном случае конфигурируют данные так, чтобы они включали в себя первоначальную последовательность, и перемещают вперед текущий указатель на длину первоначальной последовательности, и когда текущий указатель передвинут через добавленные данные, пакетируют сконфигурированные данные для потоковой передачи.

13. Способ по п.12, дополнительно содержащий этап, на котором кодируют, по меньшей мере, одно из длины и положения представления с использованием методики кодирования, выбранной из группы, состоящей из кодирования по Хаффману, арифметического кодирования, префиксного кодирования и кодирования по Маркову.

14. Способ по п.12, в котором, когда первоначальная последовательность по текущему указателю не совпадает ни с одной последовательностью в буфере истории, первоначальную последовательность байтов по текущему указателю кодируют для включения в конфигурированные данные для потоковой передачи с использованием методики кодирования, выбранной из группы, состоящей из кодирования по Хаффману, арифметического кодирования, префиксного кодирования и кодирования по Маркову.

15. Способ по п.12, дополнительно содержащий этап, на котором определяют, совпадает ли положение совпадающей последовательности с одним из совокупности положений в таблице наиболее давнего использования (НДИ), причем каждое положение в таблице НДИ имеет соответствующее представление НДИ, каждое положение в таблице НДИ описывает одно из совокупности наиболее давно использованных положений последовательностей в данных, ранее переданных в потоковом режиме, и если положение совпадающей последовательности включено в таблицу НДИ, то положение совпадающей последовательности кодируют с помощью соответствующего представления НДИ из таблицы НДИ.

16. Один или несколько машиночитаемых носителей, содержащих машиноисполняемые команды, которые при выполнении осуществляют способ по п.12.

17. Способ, содержащий этапы, на которых принимают обратную связь, которая указывает наличие ресурсов для передачи данных по сети от терминальной службы, предоставляемой сервером, на клиент, и настраивают один или несколько параметров процедуры сжатия, используемой для сжатия данных, в соответствии с обратной связью.

18. Способ по п.17, в котором ресурсы выбирают из группы, состоящей из аппаратных ресурсов клиента, программных ресурсов клиента, сетевых ресурсов сети, аппаратных ресурсов сервера, программных ресурсов сервера, и любой их комбинации.

19. Один или несколько машиночитаемых носителей, содержащих машиноисполняемые команды, которые при выполнении осуществляют способ по п.17.

20. Способ, содержащий этапы, на которых принимают запрос на сервере от клиента для удаленного доступа к приложению или файлу, доступному через сервер, определяют наличие ресурсов для передачи данных в ответ на запрос по сети и настраивают один или несколько параметров протокола сжатия, используемого для сжатия данных, на основании определенного наличия.

21. Способ по п.20, в котором ресурсы выбирают из группы, состоящей из аппаратных ресурсов клиента, программных ресурсов клиента, сетевых ресурсов сети, аппаратных ресурсов сервера, программных ресурсов сервера и любой их комбинации.

22. Один или несколько машиночитаемых носителей, содержащих машиноисполняемые команды, которые при выполнении осуществляют способ по п.20.

23. Сервер, содержащий буфер истории, имеющий совокупность байтов, поисковую таблицу, содержащую совокупность ячеек, причем каждая ячейка доступна с использованием конкретного одного из совокупности индексов и указывает, находится ли соответствующий индекс в буфере истории, и если да, дополнительно указывает одно или несколько положений соответствующего индекса в буфере истории, и модуль сжатия, который предназначен для выполнения с целью нахождения одной последовательности индексов в поисковой таблице, которая совпадает с первоначальной последовательностью в данных, для передачи на клиент от терминальной службы, если соответствующая ячейка совпадающего индекса указывает совокупность положений, для каждого положения, сравнения последовательности в положении, имеющем совпадающий индекс, с последовательностью в данных, причем упомянутая последовательность содержит первоначальную последовательность, получения совпадающей последовательности из сравнения на основании, по меньшей мере, одного из длины и положения последовательности в каждом положении, и представления совпадающей последовательности с использованием представления, которое включает в себя длину и положение совпадающей последовательности в буфере истории.

24. Сервер по п.23, в котором модуль сжатия дополнительно предназначен для выполнения с целью нахождения одного индекса в поисковой таблице для каждой последовательности в данных, формирования сжатых данных, которые содержат одно или несколько представлений, и передачи сжатых данных в потоковом режиме.

25. Сервер по п.23, в котором соответствующая ячейка совпадающего индекса указывает цепочку хэширования, которая содержит каждое положение совпадающего индекса в буфере истории.

26. Сервер по п.23, в котором и первоначальная последовательность, и индекс состоит, по меньшей мере, из двух байтов.

27. Сервер по п.23, в котором модуль сжатия дополнительно предназначен для выполнения с целью формирования сжатых данных, содержащих представление, и пакетирования сжатых данных для передачи в потоковом режиме по сети, причем данные отформатированы в виде одного или нескольких пакетов.

28. Сервер по п.23, в котором модуль сжатия дополнительно предназначен для выполнения с целью кодирования, по меньшей мере, одного из длины и положения представления с использованием методики кодирования, выбранной из группы, состоящей из кодирования по Хаффману, арифметического кодирования, префиксного кодирования и кодирования по Маркову.

29. Сервер по п.23, в котором модуль сжатия дополнительно предназначен для выполнения с целью кодирования первоначальной последовательности, если соответствующая ячейка совпадающего индекса не указывает ни одного положения, с использованием методики кодирования, выбранной из группы, состоящей из кодирования по Хаффману, арифметического кодирования, префиксного кодирования и кодирования по Маркову.

30. Сервер по п.23, в котором сравнение для получения совпадающей последовательности осуществляется с использованием одного или нескольких порогов, выбранных из группы, состоящей из количества положений, имеющих совпадающий индекс, подлежащий сравнению, размера значения, которое описывает каждое положение, имеющее совпадающий индекс, и размера значения, которое описывает длину последовательности в каждом положении, которая совпадает с последовательностью в данных, которые содержат совпадающий индекс.

31. Сервер по п.23, в котором модуль сжатия дополнительно предназначен для выполнения с целью применения стоимостной функции для определения того, использует ли представление меньше памяти при сохранении, чем совпадающая последовательность, и, если да, формирования сжатых данных, содержащих представление.

32. Сервер по п.23, в котором модуль сжатия дополнительно предназначен для выполнения с целью определения того, совпадает ли положение совпадающей последовательности с одним из совокупности положений в таблице наиболее давнего использования (НДИ), причем каждое положение в таблице НДИ имеет соответствующее представление НДИ, каждое положение в таблице НДИ описывает одно из совокупности наиболее давно использованных положений последовательностей в данных, ранее переданных в потоковом режиме, и если положение совпадающей последовательности включено в таблицу НДИ, положение совпадающей последовательности кодируется с помощью соответствующего представления НДИ из таблицы НДИ.

33. Система, содержащая сеть, сервер, содержащий первый буфер истории, имеющий совокупность байтов, поисковую таблицу, содержащую совокупность ячеек, причем каждая ячейка доступна с использованием конкретного одного из совокупности индексов, и каждая ячейка указывает, находится ли соответствующий индекс в буфере истории, и если да, дополнительно указывает одно или несколько положений соответствующего индекса в буфере истории, и модуль сжатия, который предназначен для выполнения с целью нахождения одного индекса в поисковой таблице, который совпадает с первоначальной последовательностью по текущему указателю, в данных, подлежащих потоковой передаче, в соответствии с запросом удаленного доступа, если соответствующая ячейка совпадающего индекса указывает одно или несколько положений, сравнения последовательности в каждом положении, имеющем совпадающий индекс, с последовательностью в данных по текущему указателю, получения совпадающей последовательности из сравнения, конфигурирования данных так, чтобы они включали в себя положение и длину совпадающей последовательности в первом буфере истории, и перемещения вперед текущего указателя на длину совпадающей последовательности, если соответствующая ячейка совпадающего индекса не указывает ни на какое положение, конфигурирования данных так, чтобы они включали в себя первоначальную последовательность, и перемещения вперед текущего указателя на длину первоначальной последовательности, и когда текущий указатель передвинут через добавленные данные, потоковой передачи сконфигурированных данных по сети и клиент, подключенный с возможностью связи к сети и содержащий второй буфер истории и модуль восстановления после сжатия, который предназначен для выполнения с целью восстановления после сжатия потоковых данных путем нахождения совпадающей последовательности во втором буфере истории на основании положения и длины, указанных в представлении.

34. Система по п.33, в которой модуль восстановления после сжатия дополнительно предназначен для выполнения клиентом с целью добавления данных, восстановленных после сжатия, во второй буфер истории.

35. Система по п.33, в которой модуль сжатия дополнительно предназначен для выполнения сервером с целью кодирования, по меньшей мере, одного из длины и положения представления с использованием методики кодирования, выбранной из группы, состоящей из кодирования по Хаффману, арифметического кодирования, префиксного кодирования и кодирования по Маркову.

36. Система по п.33, в которой если соответствующая ячейка совпадающего индекса не указывает ни одного положения, модуль сжатия дополнительно предназначен для выполнения с целью кодирования первоначальной последовательности с использованием методики кодирования, выбранной из группы, состоящей из кодирования по Хаффману, арифметического кодирования, префиксного кодирования и кодирования по Маркову.

37. Система по п.33, в которой модуль сжатия дополнительно предназначен для выполнения сервером с целью определения того, совпадает ли положение совпадающей последовательности с одним из совокупности положений, в таблице наиболее давнего использования (НДИ), причем каждое положение в таблице НДИ имеет соответствующее представление НДИ, каждое положение в таблице НДИ описывает одно из совокупности наиболее давно использованных положений последовательностей в данных, ранее переданных в потоковом режиме, и если положение совпадающей последовательности включено в таблицу НДИ, положение совпадающей последовательности кодируется с помощью соответствующего представления НДИ из таблицы НДИ.

38. Машиночитаемый носитель, включающий машиноисполняемые команды, которые при выполнении компьютером предписывают компьютеру находить индекс в поисковой таблице, который совпадает с первоначальной последовательностью в данных для потоковой передачи на клиент, данных для генерирования пользовательского интерфейса приложения, удаленно выполняемого с клиента, причем поисковая таблица содержит совокупность ячеек, причем каждая ячейка доступна с использованием конкретного одного из совокупности индексов, и каждая ячейка указывает, находится ли соответствующий индекс в буфере истории, и если да, дополнительно указывает одно или несколько положений соответствующего индекса в буфере истории, если соответствующая ячейка совпадающего индекса указывает совокупность положений, для каждого положения, сравнивать последовательность в положении, имеющем совпадающий индекс, с последовательностью в данных, причем упомянутая последовательность содержит первоначальную последовательность, и вычислять на основе сравнения длину совпадающей последовательности.

39. Машиночитаемый носитель по п.38, в котором машиноисполняемые команды предписывают компьютеру представлять совпадающую последовательность с использованием представления, содержащего длину и положение.

40. Машиночитаемый носитель по п.38, в котором соответствующая ячейка совпадающего индекса указывает цепочку хэширования, которая содержит каждое положение совпадающего индекса в буфере истории.

41. Машиночитаемый носитель по п.38, в котором и первоначальная последовательность, и индекс состоит, по меньшей мере, из двух байтов.

42. Машиночитаемый носитель по п.38, в котором машиноисполняемые команды предписывают компьютеру кодировать, по меньшей мере, одно из длины и положения представления с использованием методику кодирования, выбранной из группы, состоящей из кодирования по Хаффману, арифметического кодирования, префиксного кодирования и кодирования по Маркову.

43. Машиночитаемый носитель по п.38, в котором машиноисполняемые команды предписывают компьютеру кодировать первоначальную последовательность, если соответствующая ячейка совпадающего индекса не указывает ни одного положения, с использованием методики кодирования, выбранной из группы, состоящей из кодирования по Хаффману, арифметического кодирования, префиксного кодирования и кодирования по Маркову.

44. Машиночитаемый носитель по п.38, в котором сравнение осуществляется с использованием одного или нескольких порогов, выбранных из группы, состоящей из количества положений, имеющих совпадающий индекс, подлежащий сравнению, размера значения, которое описывает каждое положение, имеющее совпадающий индекс, и размера значения, которое описывает длину последовательности в каждом положении, которая совпадает с последовательностью в данных, которые содержат совпадающий индекс.

45. Машиночитаемый носитель по п.38, в котором машиноисполняемые команды предписывают компьютеру применять стоимостную функцию для определения того, использует ли представление, которое содержит длину и положение совпадающей последовательности, меньше памяти при сохранении, чем совпадающая последовательность, и если да, то формировать сжатые данные, содержащие представление.

46. Машиночитаемый носитель по п.38, в котором машиноисполняемые команды предписывают компьютеру определять, совпадает ли положение совпадающей последовательности с одним из совокупности положений в таблице наиболее давнего использования (НДИ), причем каждое положение в таблице НДИ имеет соответствующее представление НДИ, каждое положение в таблице НДИ описывает одно из совокупности наиболее давно использованных положений последовательностей в данных, ранее переданных в потоковом режиме, и если положение совпадающей последовательности включено в таблицу НДИ, положение совпадающей последовательности кодируется с помощью соответствующего представления НДИ из таблицы НДИ.

Авторы

Заявители

СПК: A01C5/062 A01C5/066 A01C5/068 A01C7/102

Публикация: 2006-07-20

Дата подачи заявки: 2005-02-15

0
0
0
0
Невозможно загрузить содержимое всплывающей подсказки.
Поиск по товарам