ЭФФЕКТИВНОЕ КОДИРОВАНИЕ АЛЬТЕРНАТИВНЫХ ГРАФИЧЕСКИХ НАБОРОВ

1. Способ эффективного кодирования графических объектов для отображения на удаленном устройстве для одного или нескольких приложений, запущенных на локальном устройстве посредством определения подходящего механизма кодирования независимо от используемого типа языка графики, осуществляемый в распределенной компьютерной системе, причем этот способ содержит этапы на которых
выполняют одно или несколько приложений на локальном устройстве, каждое из которых генерирует графическое отображение - на основе конкретного языка графики - для отображения на удаленном устройстве;
принимают набор графики для конкретного языка графики, причем набор графики включает в себя один или несколько ресурсов, одну или несколько команд отображения или и то, и другое, которые используют в визуализации по меньшей мере части графического отображения для одного или нескольких приложений;
принимают данные кодирования, которые включают в себя информацию для одного или нескольких из следующего: (1) метаданные, которые описывают содержания одного или нескольких полей в пределах набора графики, используемого для помощи одному или нескольким модулям сжатия данных для более эффективного сжатия набора графики, чем когда набор графики находится в нормальной форме; (2) данные типа кодирования, которые описывают один или несколько механизмов сжатия данных, поддерживаемых удаленным устройством, для выбора эффективного типа сжатия для набора графики; и
на основе принятых данных кодирования определяют подходящий механизм кодирования для одной или нескольких частей набора графики.
2. Способ по п.1, в котором одна или несколько команд отображения включают в себя одно или несколько свойств, которые описывают некоторый ресурс в виде одного или нескольких из позиционирования на дисплее, размера, цвета или формы.
3. Способ по п.1, в котором на основе метаданных одно или несколько полей преобразуют из машинного формата в сетевой формат, который уменьшает битовую длину одного или нескольких полей для лучшего коэффициента сжатия, чем в машинной форме.
4. Способ по п.1, в котором на основе метаданных одно или несколько полей кодируют в форму переменной длины.
5. Способ по п.1, в котором на основе метаданных используют дельта-кодирование таким образом, что только изменение в ресурсе посылают в удаленное устройство, которое может быть кодировано с использованием меньшего количества байтов, чем при посылке целого набора графики.
6. Способ по п.1, в котором на основе метаданных используют механизм межпорядкового сжатия для кодирования одного или нескольких полей определенного типа на основе ранее кодированной структуры того же самого типа.
7. Способ по п.1, в котором один или несколько механизмов сжатия данных, поддерживаемые удаленным устройством, согласуют между локальным и удаленным устройством во время соединения, и в котором выбранный механизм кодирования дополнительно основан на том, насколько хорошо каждый механизм сжатия сжимает данный набор графики.
8. Способ по п.7, в котором один или несколько модулей сжатия данных включают в себя одно или несколько из RLE, основанного на MPEG, JPEG, GIF, ZIP, основанного на LZ, JBIG, DejaVu или другого хорошо известного образца или основанного на статистике механизма сжатия.
9. Способ эффективной визуализации графических объектов на удаленном устройстве отображения для одного или нескольких приложений, запущенных на локальном устройстве посредством определения того, какие (если таковые имеются) ресурсы для одного или нескольких приложений должны быть посланы в удаленное устройство, осуществляемый в распределенной компьютерной системе, причем этот способ содержит этапы, на которых
выполняют одно или несколько приложений на локальном устройстве, каждое из которых генерирует графические отображения для передачи в удаленное устройство;
принимают набор графики, который включает в себя один или несколько ресурсов, одну или несколько команд отображения или и то, и другое, которые используют в визуализации по меньшей мере части графических отображений для одного или нескольких приложений;
принимают данные ресурсов, которые включают в себя информацию для одного или нескольких из следующего: (1) информацию состояния доставки для определения того, были ли посланы один или несколько ресурсов, соответствующих набору графики, в удаленное устройство и были ли они сохранены в центральном кэше с целью повторного использования независимо от типа сохраненного ресурса; (2) информацию поддерживаемых приложений для определения выделенных ресурсов, доступных в данное время на удаленном устройстве, для отображения по меньшей мере одного ресурса на удаленном устройстве для одного или нескольких приложений без переноса по меньшей мере одного ресурса из локального устройства; (3) данные системных ограничений для определения того, следует ли постепенно посылать части ресурса в удаленное устройство таким образом, что сначала посылают ухудшенную версию полного ресурса, а обновления, которые улучшают ухудшенную версию, посылаются позже для экономии диапазона рабочих частот или других системных ограничений; или (4) информацию видимости, которая описывает, видны ли пользователю в данное время один или несколько ресурсов, соответствующих набору графики; и
на основе принятой информации о ресурсах выбирают части набора графики для кодирования.
10. Способ по п.9, в котором локальное устройство, удаленное устройство или оба используют механизмы, которые ограничивают фрагментацию памяти, вызванную кэшированием одного или нескольких ресурсов различных размеров в пределах центрального кэша.
11. Способ по п.9, в котором выделенные ресурсы, доступные в данное время на удаленном устройстве, включают в себя одно или несколько из границы для одного или нескольких приложений, строки заголовка для одного или нескольких приложений, инструментальную панель для одного или нескольких приложений или некоторую другую форму пиктограммы, стандартной по одному или нескольким приложениям.
12. Способ по п.9, в котором информация видимости включает в себя информацию о Z-порядке, прозрачности или состоянии минимизации/максимизации одного или нескольких ресурсов.
13. Способ по п.9, в котором ресурс для части ресурса, постепенно посылаемой в удаленное устройство, включает в себя одно или несколько из побитовых отображений, кривых или сеток, и в котором ухудшенная версия включает в себя неточности из одного или нескольких из цвета, подробностей, числа точек дискретизации или другое ухудшение качества изображения, но ухудшенная версия ресурса включает в себя достаточно информации для того, чтобы дать возможность пользователю в удаленном устройстве распознать этот ресурс.
14. Способ по п.13, в котором ресурсом является кнопка, отмечаемая кнопка или другой интерактивный элемент, и в котором пользователь способен взаимодействовать с этим элементом без принятия полного ресурса.
15. Способ эффективной синхронизации структур данных визуализации, используемых в генерации графического отображения на удаленном устройстве для одного или нескольких приложений, выполняемых на локальном устройстве, осуществляемый в распределенной компьютерной системе, причем этот способ содержит этапы на которых
выполняют одно или несколько приложений на локальном устройстве, каждое из которых генерирует структуру данных визуализации конкретного языка графики, которые являются структурами данных режима сохранения, которые поддерживают состояние для ресурсов и их используют для формирования графического отображения для одного или нескольких приложений на удаленном устройстве;
принимают набор графики, который включает в себя один или несколько ресурсов, одну или несколько команд отображения или и то, и другое, соответствующие конкретному языку графики и используемые в модификации одной или нескольких структур данных визуализации;
принимают метаданные, которые включают в себя описание одного или нескольких полей набора графики для помощи одному или нескольким модулям сжатия данных в идентификации типа структуры для одного или нескольких полей, общих среди множества графических наборов для одного или нескольких различных языков графики, которые один или несколько модулей сжатия данных могут более легко распознать и соответствующим образом кодировать; и
на основе принятых метаданных кодируют одно или несколько полей набора графики для посылки в удаленное устройство и синхронизации структур данных визуализации между локальным и удаленным устройствами, которые используют для формирования графического отображения в удаленном устройстве для одного или нескольких приложений.
16. Способ по п.15, в котором одна или несколько команд отображения включают в себя одно или несколько свойств, которые описывают некоторый ресурс в виде одного или нескольких из позиционирования на дисплее, размера, цвета или формы.
17. Способ по п.15, в котором на основе метаданных одно или несколько полей преобразуют из машинного формата в сетевой формат, который уменьшает битовую длину одного или нескольких полей для лучшего коэффициента сжатия, чем в машинной форме.
18. Способ по п.15, в котором на основе метаданных одно или несколько полей кодируют в форму переменной длины.
19. Способ по п.15, в котором на основе метаданных используют дельта-кодирование таким образом, что только изменение в ресурсе посылают в удаленное устройство, которое может быть кодировано с использованием меньшего количества байтов, чем при посылке целого набора графики.
20. Способ по п.15, в котором на основе метаданных используют механизм межпорядкового сжатия для кодирования одного или нескольких полей определенного типа на основе ранее кодированной структуры того же самого типа.