RU2353968C2 - Системная архитектура и связанные с ней способы динамического добавления программных компонентов для расширения функциональных возможностей системных процессов - Google Patents

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

Info

Publication number
RU2353968C2
RU2353968C2 RU2003129200/09A RU2003129200A RU2353968C2 RU 2353968 C2 RU2353968 C2 RU 2353968C2 RU 2003129200/09 A RU2003129200/09 A RU 2003129200/09A RU 2003129200 A RU2003129200 A RU 2003129200A RU 2353968 C2 RU2353968 C2 RU 2353968C2
Authority
RU
Russia
Prior art keywords
filters
multimedia
filter
additional
numbering
Prior art date
Application number
RU2003129200/09A
Other languages
English (en)
Other versions
RU2003129200A (ru
Inventor
Мин ЛИУ (US)
Мин ЛИУ
Исса КХОУРИ (US)
Исса КХОУРИ
Андрей КОЗЛОВ (US)
Андрей КОЗЛОВ
Original Assignee
Майкрософт Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Майкрософт Корпорейшн filed Critical Майкрософт Корпорейшн
Publication of RU2003129200A publication Critical patent/RU2003129200A/ru
Application granted granted Critical
Publication of RU2353968C2 publication Critical patent/RU2353968C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

Изобретение относится к вычислительной технике и может быть использовано в операционных системах для автоматического добавления программных компонентов в системные процессы. Техническим результатом изобретения является расширение мультимедиа функциональных возможностей системных процессов. В изобретении описаны системы и способы для автоматической установки и использования фильтров для обработки мультимедийных данных. Установленные фильтры впоследствии вызываются другими системными процессами, такими как драйверы устройств, приложения и программные средства сбора и обработки данных. Фильтры являются объектами, которые могут быть использованы множеством процессов в любой данный момент времени. Поиск и нумерация установленных фильтров могут быть выполнены службой управления фильтрами согласно их категориям. 8 н. и 15 з.п. ф-лы, 16 ил.

Description

Область техники, к которой относится изобретение
Область техники, к которой относится изобретение, связана с архитектурой компьютерных систем и, в частности, касается архитектуры операционной системы для автоматического добавления программных компонентов в системные процессы.
Уровень техники
С распространением цифровых мультимедийных устройств, таких как ленты для цифровой звукозаписи (DAT), цифровых видеодисков (DVD), цифровых видеокамер и цифровых фотокамер, у пользователей компьютеров возрастает спрос на набор аппаратных и программных возможностей для обработки и использования цифровых мультимедийных файлов. Большое число независимых поставщиков аппаратных средств (IHV) и независимых поставщиков программных средств (ISV) вышли на рынок, чтобы удовлетворить указанный спрос на расширенные функциональные возможности для мультимедиа. Выход такого большого количества ISV и IHV на рынок породил множество проблем у разработчиков операционных систем и прикладных программ (приложений) с мультимедийными функциональными возможностями. Например, поставщики IHV и поставщики ISV разработали ряд несовместимых форматов для кодеков и других фильтров. В настоящее время операционные системы и приложения имеют ограниченные возможности для работы с множеством форматов, которые повсеместно не используются.
Фильтры представляют собой программные компоненты, которые используются с мультимедийными файлами (например, звукозапись, видеоизображения или неподвижные изображения) и служат при этом в качестве кодеков (кодеров или декодеров), используются для добавления различных эффектов (например, световая коррекция, увеличение яркости и т.д.) или для анализа контента (информационного наполнения) файла (например, для извлечения метаданных, таких как количество людей в данном файле изображения). В настоящее время для форматирования файлов изображений при подготовке публикаций с помощью настольных издательских средств широко используют несколько стандартов кодеков (например, JPEG, TIFF). Большинство операционных систем, приложений и программных средств сбора и обработки данных поддерживает указанные широкоиспользуемые стандарты. Например, программное средство сбора и обработки данных в операционных системах Microsoft® Windows® Me и Microsoft® Windows® XP, поставляемое Microsoft® Corporation под названием Scanner and Camera Wizard, работает со сканирующими устройствами и цифровыми камерами и обладает возможностями декодирования и обработки файлов TIFF, созданных драйверами сканера и цифровой камеры.
Однако некоторые производители аппаратных средств, таких как цифровые камеры и сканеры, предпочитают использовать кодеки, специально спроектированные для работы с их собственными аппаратными компонентами. Например, Nikon® Corporation предпочитает использовать специализированную версию TIFF, известную как формат TIFF/EP, для кодирования и декодирования цифровых изображений. Однако формат TIFF/EP широко не используется, либо не поддерживается операционными системами или приложениями обработки изображений. Например, операционная система Windows® XP от Microsoft® Corporation не поддерживает формат TIFF/EP для изображений. Следовательно, пользователь рабочего стола (экранной интерактивной среды) Windows® XP не сможет декодировать и просматривать файл изображений TIFF/EP, полученный из камеры Nikon®, без установки отдельного приложения для просмотра. Также некоторые приложения обработки изображений, например Image Viewer от Microsoft® Corporation, нельзя расширить для поддержки стандарта TIFF/EP, поскольку они разработаны для использования стандартного декодера TIFF, всякий раз, когда в приложение поступает файл типа TIFF. В настоящее время пользователь для того, чтобы иметь возможность просмотра и коррекции изображения TIFF/EP, должен добавить в свою систему Windows® XP компоненту кодека TIFF/EP и использовать приложение, специально предназначенное для работы с изображениями TIFF/EP. Таким образом, имеется насущная потребность в операционных системах, отличающихся большей гибкостью в плане предоставления возможностей поставщикам IHV и поставщикам ISV расширять возможности имеющихся системных процессов, таких как драйверы устройств, программные средства сбора и обработки данных и другие приложения, путем предоставления их собственных фильтров в качестве дополнительных средств, встраиваемых в системные процессы. Предоставление возможности поставщикам IHV или поставщикам ISV расширения возможностей имеющихся приложений или программных средств сбора и обработки данных также исключит необходимость создания индивидуальных приложений для работы со специализированными фильтрами и позволит вместо этого поставщикам ISV и поставщикам IHV сконцентрировать свои усилия на предоставлении наилучших фильтров в качестве дополнительных встраиваемых средств.
Разработчики программных средств обычно опасаются возможности использования в качестве дополнительных встраиваемых средств фильтров, разработанных на стороне, поскольку любые ошибки в таких дополнительных встраиваемых фильтрах могут потенциально повлиять на функционирование их собственных программных компонентов. Следовательно, имеется потребность в системах и способах, которые адекватно обеспечивали бы надежность системы или приложений, использующих дополнительные встраиваемые фильтры.
Обычно фильтрующие компоненты, установленные в системе, либо работают в связке с приложением, либо устанавливаются для специализированной работы с некоторыми выбранными приложениями. Обычно множество других приложений в системе не способны осуществить доступ к функциональным возможностям установленных фильтров. Следовательно, существует потребность в открытой и гибкой системной архитектуре, которая даст возможность всем процессам в системе находить и использовать дополнительные встраиваемые фильтры так, чтобы дополнительный встраиваемый фильтр могли бы использовать даже неспециализированные приложения и драйверы устройств.
Кроме того, при спросе на расширенные мультимедийные функциональные возможности в системах устанавливают и используют большое количество различных фильтров с множеством мультимедийных функциональных возможностей. Следовательно, существует потребность в системной архитектуре, обеспечивающей эффективный поиск и нумерацию дополнительных встраиваемых фильтров, установленных и имеющихся в системе, так чтобы приложение или пользователь (через это приложение) могли выбрать подходящие дополнительные встраиваемые средства, когда это необходимо.
Также каждый из множества фильтров, установленных в системе, может иметь множество мультимедийных функциональных возможностей, а некоторые из этих фильтров могут иметь перекрывающиеся функциональные возможности. В некоторых случаях для мультимедийной обработки конкретного типа может особенно хорошо подходить один или несколько фильтров. У пользователя или системного процесса может возникнуть потребность ознакомиться с функциональными возможностями фильтров, прежде чем выбрать подходящий фильтр. Одним из путей реализации этой потребности может быть загрузка фильтра в память с последующим определением его возможностей. Однако это может ограничить использование системных ресурсов и сделать процесс, реализуемый дополнительным встраиваемым фильтром, трудоемким и медленным. Следовательно, имеется дополнительная потребность в системах и способах классификации фильтров по их признакам и поиска, обнаружения и нумерации фильтров на основе их классификации без загрузки фильтра в память.
Сущность изобретения
Описанные здесь системная архитектура и способы предложены для автоматической установки и вызова фильтров обработки мультимедийных данных с целью расширения относящихся к мультимедиа функциональных возможностей системных процессов, таких как мультимедийные приложения, программные средства сбора и обработки данных и драйверы устройств.
Согласно одному аспекту системная архитектура является открытой и гибкой, так что дополнительные встраиваемые фильтры, предоставленные одним объектом, можно использовать для расширения возможностей существующего процесса, предоставленного другим объектом. Система позволяет дополнительному встраиваемому фильтру использовать службу управления фильтрами, называемую системной службой управления дополнительными встраиваемыми средствами, для запроса на установку его в системе. Сам фильтр обеспечивает средство управления дополнительными встраиваемыми средствами информацией, относящейся к функциональным возможностям этого фильтра, а средство управления дополнительными встраиваемыми средствами использует эту информацию для установки с возможностью идентификации дополнительного встраиваемого фильтра, подлежащего вызову любым системным процессом в системе.
Согласно другому аспекту средство управления дополнительными встраиваемыми средствами отвечает на запросы системных процессов для нумерации дополнительных встраиваемых фильтров, имеющихся в системе. Затем эти процессы могут сделать выбор фильтра из числа пронумерованных дополнительных встраиваемых фильтров для расширения своих собственных возможностей мультимедийной обработки. Фильтры можно классифицировать в соответствии с их функциональными возможностями и признаками, при этом их можно пронумеровать согласно указанной классификации. В одном варианте осуществления средство управления дополнительными встраиваемыми средствами является службой, которую может использовать любой из процессов, установленных в системе, для расширения своих собственных функциональных возможностей обработки мультимедийных данных.
Согласно еще одному аспекту дополнительные встраиваемые фильтры, установка которых запрашивается, обеспечиваются механизмами защиты, такими как цифровые подписи, а средство управления дополнительными встраиваемыми средствами проверяет подлинность цифровой подписи перед установкой фильтра в систему. Кроме того, процессы, вызывающие дополнительные встраиваемые фильтры, могут сами сделать запрос средству управления дополнительными встраиваемыми средствами на нумерацию фильтров только с выбранными цифровыми подписями. Дополнительно можно сделать запрос средству управления дополнительными встраиваемыми средствами на использование выбранных дополнительных встраиваемых фильтров отдельно от процесса, запрашивающего нумерацию дополнительных встраиваемых фильтров, так что любые ошибки или отказы дополнительных встраиваемых фильтров не смогут повлиять на функционирование процессов, запрашивающих нумерацию.
Согласно дополнительному аспекту изобретения средство управления дополнительными встраиваемыми средствами может пронумеровать множество фильтров многих категорий, и процесс может использовать это множество фильтров, соединенных в цепочку, для последовательной обработки мультимедийных данных.
Дополнительные признаки и преимущества описанных здесь систем и способов станут очевидными из последующего подробного описания, вместе со ссылками на сопроводительные чертежи.
Перечень чертежей
Фиг. 1 - блок-схема, иллюстрирующая статический способ расширения мультимедийных функциональных возможностей системных процессов путем установки и использования дополнительных встраиваемых фильтров;
фиг. 2 - блок-схема, иллюстрирующая динамический способ расширения мультимедийных функциональных возможностей системных процессов путем автоматической установки и использования дополнительных встраиваемых фильтров;
фиг. 3 - блок-схема алгоритма способа для динамической и автоматической установки и использования дополнительных встраиваемых фильтров с целью расширения мультимедийных функциональных возможностей системных процессов;
фиг. 4 - блок-схема, иллюстрирующая системную архитектуру, которая включает в себя службу управления дополнительными встраиваемыми средствами для динамической и автоматической установки и использования дополнительных встраиваемых фильтров с целью расширения мультимедийных функциональных возможностей системных процессов различных типов;
фиг. 5 - программное представление интерфейса со средством управления дополнительными встраиваемыми средствами вместе со способами установки, нахождения и нумерации дополнительных встраиваемых фильтров в системе;
фиг. 6 - блок-схема алгоритма, описывающая способ автоматической установки дополнительных встраиваемых фильтров в системе для их последующего вызова системными процессами;
фиг. 7 - блок-схема алгоритма, описывающая способ для службы управления дополнительными встраиваемыми средствами, предназначенной для обработки запроса на нумерацию дополнительных встраиваемых фильтров в системе;
фиг. 8 - блок-схема алгоритма, описывающая способ для службы управления дополнительными встраиваемыми средствами, предназначенной для обработки запроса на нумерацию дополнительных встраиваемых фильтров в системе согласно предложенным критериям;
фиг. 9 - блок-схема алгоритма, описывающая способ выбора системным процессом одного или нескольких фильтров, пронумерованных средством управления дополнительными встраиваемыми средствами, и для использования выбранного фильтра с целью расширения его собственных функциональных возможностей обработки мультимедийных данных;
фиг. 10 - блок-схема алгоритма, описывающая способ ответа дополнительного встраиваемого фильтра на вызов со стороны системного процесса после его выбора этим процессом с целью расширения мультимедийных функциональных возможностей процесса;
фиг. 11 - интерфейс пользователя, предоставляемый дополнительным встраиваемым фильтром для приема от пользователя одного или нескольких параметров обработки, относящихся к этому фильтру;
фиг. 12 - блок-схема, иллюстрирующая способ обеспечения защиты процесса, вызывающего дополнительный встраиваемый фильтр, путем изолирования не заслуживающего доверие фильтра от процесса, вызывающего фильтрующий объект;
фиг. 13 - блок-схема, иллюстрирующая способ разрешения вызова фильтрующего объекта, заслуживающего доверие, из системного процесса;
фиг. 14 - блок-схема, иллюстрирующая дополнительные встраиваемые фильтры, связанные в цепочку для последовательной обработки мультимедийных данных;
фиг. 15 - блок-схема, иллюстрирующая дополнительные встраиваемые фильтры, принимающие отобранные части мультимедийных данных, обрабатывающие эти принятые части и выдающие обработанные части, без прекращения дальнейшего приема частей мультимедийных данных;
фиг. 16 - блок-схема, иллюстрирующая множество дополнительных встраиваемых фильтров с множеством функциональных возможностей, обеспечивающих последовательную обработку частей мультимедийного файла.
Подробное описание изобретения
Обзор
Фильтры представляют собой программные компоненты, используемые при обработке мультимедийных данных (например, аудио-, видео- и неподвижных изображений). Фильтры могут быть кодеками (кодерами или декодерами), аналитическими фильтрами или корректирующими фильтрами. Примеры кодеков включают в себя кодеки формата MPEG для видео-, формата JPEG или TIFF для цифровых неподвижных изображений и форматы WAV или AVI для файлов звукозаписи. Кодеки используют в основном для сжатия мультимедийных файлов с целью их эффективной передачи по сети. Корректирующие фильтры, которые также называют «эффекты», используют главным образом для добавления корректирующих эффектов в мультимедийный файл путем изменения битов изображения для коррекции данных или для переназначения данных (например, усиление яркости для файла изображений, или подавление шума для файла аудиоданных). Аналитические фильтры выделяют данные из файлов изображений (например, метаданные, такие как цвет фона в файле изображений). Множество фильтров предоставляют в виде стандартных средств вместе с программными средствами операционной системы (например, Microsoft® Windows® XP) или с приложениями для обработки мультимедийных данных (например, Adobe® Photoshop®). Однако имеется большое количество фильтров, обслуживающих специальные задачи, которые не могут поддерживаться конкретной платформой операционной системы или приложениями. Среди прочего системная архитектура и способы, описанные ниже, предоставляют открытую и гибкую архитектуру для добавления фильтров в виде дополнительных встраиваемых средств с целью расширения возможностей существующих системных процессов.
На фиг. 1 показан статический способ расширения возможностей системы путем предоставления дополнительных встраиваемых средств для выполнения специализированных задач. В указанной системе процессу 110 (например, драйверам устройств, приложениям или программным средствам сбора и обработки данных) могут потребоваться сведения об имеющихся дополнительных встраиваемых фильтрах 125, которые зарегистрированы в системном реестре 120. Затем процесс 110 может выбрать конкретный объект 125 в виде дополнительного встраиваемого фильтра и использовать редактор 130 (например, Filter Graph Editor от Microsoft® Corporation) для добавления фильтра 125 вместе с другими компонентами, такими как встроенный фильтр 140, для обработки мультимедийного файла и предоставления его целевому средству 150 воспроизведения (например, дисплей, динамик или файл). Указанный способ должен рассчитывать на само приложение, обладающее сведениями о существующих дополнительных встраиваемых фильтрах 125, либо в самом приложении должен быть дополнительный программный код для выполнения запроса к реестру 120 с целью определения доступности существующего фильтра 125. Это представляет большие трудности для разработчиков приложений, требуя от них добавления дополнительных строк программного кода для выполнения запроса и обработки данных для дополнительного встраиваемого фильтра.
Иллюстративная общая система и способ динамической установки и вызова дополнительных встраиваемых фильтров
На фиг. 2 показана более динамичная и гибкая система 200 для расширения возможностей системных процессов 210 с помощью дополнительных встраиваемых фильтров 245. В указанной системе системная служба, называемая здесь средством 220 управления дополнительными встраиваемыми средствами, предоставляется в виде объекта компонентной модели (например, объект Component Object Model (COM) на платформе Microsoft® Windows®), который доступен всей системе и служит в качестве узла между процессами 210 и дополнительными встраиваемыми фильтрами 245. Таким образом, с одной стороны, дополнительные встраиваемые фильтры 245 могут использовать средство 220 управления дополнительными встраиваемыми средствами для установки себя в системе (240) и сделать себя доступными для процессов 210. С другой стороны, средство 220 управления дополнительными встраиваемыми средствами может быть использовано процессами 210 для нахождения, нумерации и предоставления интерфейсов дополнительным встраиваемым фильтрам, таким как фильтр 245. Процесс 210 может использовать редактор 250 для добавления дополнительного встраиваемого фильтра 245 вместе со встроенным фильтром 260 с целью обработки мультимедийного файла и подачи на целевое средство 270 воспроизведения. Предоставление отдельной системной службы для управления установкой и подготовкой к работе дополнительных встраиваемых фильтров не только освободит сами процессы 210 от необходимости иметь дело с указанной объемной программной задачей, но также сделает упомянутую службу потенциально доступной всем процессам в системе, которые могут формировать вызовы в средство 220 управления дополнительными встраиваемыми средствами.
Кроме того, вся система 200 вместе со средством 220 управления дополнительными встраиваемыми средствами обеспечивает надежную модель защиты, гарантирующую, что любые подверженные ошибкам, не заслуживающие доверия или непроверенные фильтры не смогут повредить систему или вызвать ошибки в процессах 210, которые возможно используют дополнительные встраиваемые фильтры 245. Например, средство 220 управления дополнительными встраиваемыми средствами можно использовать для проверки дополнительных встраиваемых фильтров до их установки или регистрации системой (225). Также средство 220 управления дополнительными встраиваемыми средствами можно использовать для отделения (215) процесса 210 от дополнительных встраиваемых фильтров 245, так что ошибки в дополнительных встраиваемых фильтрах 245 не переносятся в процесс 210. Эти и другие аспекты системы 200 более подробно описываются ниже.
Продемонстрированная общая системная архитектура 200 и средство 220 управления дополнительными встраиваемыми средствами могут быть использованы для реализации способа динамической установки и вызова дополнительных встраиваемых фильтров с целью расширения возможностей системных процессов 210. На фиг. 3 показан один из таких процессов. В блоке 310 средство управления дополнительными встраиваемыми средствами может быть использовано для установки в системе дополнительного встраиваемого фильтра, вызываемого одним или несколькими процессами, связанными с системой. Затем в блоке 320 средство 220 управления дополнительными встраиваемыми средствами может быть использовано для динамического вызова дополнительных встраиваемых фильтров, используемых системными процессами. Например, средство 220 управления дополнительными встраиваемыми средствами можно использовать для формирования запроса и предоставления приложению списка фильтров, удовлетворяющих определенным критериям запроса. Затем приложение из списка фильтров может выбрать фильтр, который может быть предоставлен этому приложению для выполнения специализированной задачи.
Иллюстративная системная архитектура с системной службой, доступной процессам в системе, для установки и вызова дополнительных встраиваемых средств
На фиг. 4 показана системная архитектура с системной службой для установки и вызова дополнительных встраиваемых фильтров. В частности, на фиг. 4 показана системная архитектура с системной службой, доступной всем процессам в системе, для нахождения и использования дополнительных встраиваемых фильтров. Процессы могут включать в себя драйверы 430 устройств (например, драйвер устройства для конкретной модели сканера), программные средства 420 сбора и обработки данных, которые можно использовать для обработки данных от указанного устройства перед их запоминанием в накопителе 470 для жестких дисков, интерфейс 425 пользователя для сбора и обработки данных и приложения 410 общего назначения. Средство 440 управления дополнительными встраиваемыми средствами представляет собой глобальную в масштабе системы службу, и к нему может быть осуществлен доступ всеми указанными процессами (например, 430, 420, 410 и 425). Дополнительные встраиваемые фильтры также могут быть обеспечены поставщиками IHV, ISV или даже поставщиками третьей стороны. Таким образом, для расширения функциональных возможностей драйвера, предоставленного поставщиком IHV, или приложения, предоставленного поставщиком ISV, можно использовать заслуживающий доверие фильтр, предоставляемый поставщиком третьей стороны. Такая гибкость позволит пользователю настроить свой рабочий стол с учетом собственных требований для расширения мультимедийных функциональных возможностей системы.
Возможности драйверов 430 устройств могут быть расширены путем использования средства 440 управления дополнительными встраиваемыми средствами для нумерации дополнительных встраиваемых фильтров 455, имеющихся в системе, и для выбора одного или нескольких пронумерованных фильтров, подлежащих использованию для решения специализированной задачи. Дополнительные встраиваемые фильтры на стороне 470 драйвера можно использовать для обработки мультимедийных данных без необходимости для пользователя что-либо знать о дополнительных встраиваемых средствах. Например, если производитель сканера знает, что конкретные модели сканируют цветную бумагу с неясными темными участками, они могут предоставить драйверу 470 дополнительный встраиваемый фильтр 455 для автоматической коррекции указанных дефектов без ведома или вмешательства пользователя.
Кроме того, стандартные драйверы 430 устройств выполняют задачи, относящиеся к пересылке мультимедийных данных от устройства (не показано) к приложениям или операционной системе, а также к обработке пересылаемых данных. Компоненты драйвера 430, связанные именно с пересылкой данных между устройством и системой, обычно одинаковы для разных моделей устройства. Однако в драйверах для разных моделей устройства могут использоваться разные эффекты или корректирующие фильтры. Компоненты драйвера 430, связанные с обработкой мультимедийных данных, могут быть реализованы в виде дополнительных встраиваемых фильтров 455, и при использовании средства 440 управления дополнительными встраиваемыми средствами они могут вызываться драйверами только тогда, когда это необходимо. Таким образом, гибкая системная архитектура 400 позволяет поставщикам IHV или разработчикам драйверов предоставлять стандартный драйвер без каких-либо специализированных фильтров, подлежащих совместному использованию между многочисленными моделями устройства, и предоставления компонентов в зависимости от модели в виде дополнительных встраиваемых средств для расширения стандартного драйвера. Также вместо того, чтобы предоставлять полностью обновленную версию драйвера устройства, можно выполнить модернизацию или коррекцию его свойств в виде дополнительных встраиваемых средств. Это приведет к значительной экономии средств на поддержку драйверов.
Кроме того, поставщики IHV могут использовать средство 440 управления дополнительными встраиваемыми средствами для изменения функциональных возможностей аналогичных, но встроенных или стандартных системных фильтров. Например, программные средства сбора и обработки данных со сканера платформы Microsoft® Windows® XP распознают ролики механизма подачи документа в сканере как часть сканируемого изображения. В настоящее время пользователь вынужден вручную корректировать это, выбирая область, не включающую в себя сканированные ролики. Однако поставщик IHV может использовать средство управления дополнительными встраиваемыми средствами для предоставления дополнительного встраиваемого фильтра, чтобы заменить упомянутый встроенный фильтр и автоматически удалить ролики со сканированного изображения.
Программные средства 420 сбора и обработки данных (например, Scanner and Camera Wizard от Microsoft® Corporation) обычно используют для обработки мультимедийных данных, когда эти данные пересылаются из устройства в систему или наоборот. Программные средства 420 сбора и обработки данных могут использовать средство управления дополнительными встраиваемыми средствами для существенного расширения их собственных возможностей таким же образом, как было описано выше применительно к драйверам 430. В настоящее время поставщики IHV должны предоставлять свои собственные программные средства сбора и обработки данных для работы со специализированным фильтром, который обычно не поддерживается стандартными программными средствами сбора и обработки данных, встроенными в операционную систему. Однако в случае использования системной архитектуры 400 возможности программных средств сбора и обработки данных, встроенных в операционную систему (например, Scanner and Camera Wizard от Microsoft® Corporation) могут быть расширены путем использования специализированных фильтров в качестве дополнительных встраиваемых средств. Следовательно, поставщики IHV могут расширить функциональные возможности существующих программных средств сбора и обработки данных вместо того, чтобы их заменять.
Аналогичным образом средство 440 управления дополнительными встраиваемыми средствами можно также использовать в приложениях для нахождения, нумерации, выбора и использования дополнительных встраиваемых фильтров 465, имеющихся в системе (460), для расширения функциональных возможностей приложений. Таким образом, средство 440 управления дополнительными встраиваемыми средствами, будучи реализованным в виде системной службы, может расширить функциональные возможности различных процессов (например, 410, 420 и 430) на различных уровнях (например, 470, 475 и 480) обработки мультимедийных данных.
Разделение типовой обработки мультимедийных данных в системе на 4 уровня (например, 470, 475 и 480) показано на фиг. 4 просто для демонстрации концепции, состоящей в том, что средство управления дополнительными встраиваемыми средствами является системной службой, которую можно использовать для расширения функциональных возможностей программных компонентов различных типов. Аналогичным образом разделение дополнительных встраиваемых фильтров 455 и 465 на прикладные дополнительные встраиваемые средства 450 и дополнительные встраиваемые средства 460 сбора и обработки данных также выполнено просто в целях иллюстрации и не является существенным для правильного функционирования системы.
Иллюстративная системная служба для установки и вызова дополнительных встраиваемых фильтров
Далее со ссылками на фигуры 5, 6, 7 и 8 подробно описываются функциональные возможности средства 440 управления дополнительными встраиваемыми средствами. Средство 440 управления дополнительными встраиваемыми средствами можно реализовать в виде объекта (например, объекта компонентной модели (COM) Microsoft), который может обрабатываться системными процессами, такими как драйвер 420 устройства или приложение 410. Обычно средство 440 управления дополнительными встраиваемыми средствами отвечает за установку и нумерацию дополнительных встраиваемых фильтров 455 и 465, имеющихся в системе. На фиг. 5 представлена иллюстративная реализация средства 440 управления дополнительными встраиваемыми средствами, где показаны различные способы, которые может использовать процесс для расширения своих возможностей, и способы, которые могут использовать разработчики фильтров для установки своих фильтров в системе.
Дополнительные встраиваемые фильтры, такие как фильтры 455 и 465, можно классифицировать по их функциональным возможностям, а средство управления дополнительными встраиваемыми средствами способно выполнять поиск фильтров на основе указанной классификации. Далее представлен возможный список стандартных категорий фильтров на основе их функциональных возможностей: художественные, художественные эффекты, рассеивающие, рассеивающие эффекты, цветовые, цветовые эффекты, увеличение резкости, эффекты увеличения резкости, шумовые и шумовые эффекты. Система может иметь множество фильтров, зарегистрированных под указанными стандартными категориями, при этом к любой одной категории может принадлежать более одного фильтра, а один фильтр может принадлежать более чем одной категории. Однако иногда бывают фильтры, которые невозможно классифицировать в рамках одной из стандартных категорий. В этом случае можно использовать способ 510 для добавления частной категории путем предоставления уникального идентификатора (например, глобального уникального идентификатора (GUID)), называемого идентификатором (ID) категории, названия и некоторого описания функциональных возможностей фильтра. После классификации и регистрации фильтра можно использовать способ 520 для нумерации всех категорий, которые имеют по меньшей мере один фильтр, находящийся в системе. Также можно модифицировать способ 520 для простой нумерации всех категорий, известных системе, или просто для нумерации категорий, определенных системой. Кроме того, средство 440 управления дополнительными встраиваемыми средствами также обеспечивает способы для удаления категории. Например, способ 530 удаляет категорию на основе ввода уникального идентификатора, связанного с этой категорией. Удаление категории с использованием способа 530 может не только удалить данную категорию, но также и все фильтры, связанные с удаленной категорией. Следовательно, средство 440 управления дополнительными встраиваемыми средствами имеет возможности управления дополнениями, нумерацией и удалением фильтров на основе категорий, которым они принадлежат, что может оказаться более быстрым и эффективным, чем выполнение той же операции на уровне фильтров.
Используя средство 440 управления дополнительными встраиваемыми средствами, можно также обеспечить дополнительный уровень детализации, обеспечиваемый поиском и нумерацией отдельных фильтров, а не категорий. Способ 540 может быть использован системным процессом для нумерации всех фильтров, принадлежащих конкретной категории. Вызов способа 540 может понадобиться для определения категории путем использования ее уникального идентификатора (ID). Разработчики фильтров могут также использовать способ 550 для установки нового фильтра путем предоставления идентификатора категории, идентификатора фильтра, названия и описания функциональных возможностей фильтра. Кроме того, способ 560 можно использовать для деинсталляции фильтра, когда вызов способа 560 задает идентификатор фильтра. Кроме того, способ 570 может быть использован системным процессом для получения информации о конкретном фильтре и решения вопроса о том, использовать ли этот фильтр для расширения возможностей процесса.
Для обеспечения защиты системы процессы, которые вызывают способы для деинсталляции или удаления категории (530) или фильтра (560), возможно придется предоставить средству 440 управления дополнительными встраиваемыми средствами соответствующий защитный маркер. Разработчики фильтров (например, фильтров, связанных с драйверами и предназначенных для работы с конкретными устройствами) могут также использовать средство 440 управления дополнительными встраиваемыми средствами для ограничения использования конкретной частной категории или уникального фильтра для конкретного устройства или приложения и тем самым предотвратить его использование другими приложениями или другими устройствами.
Иллюстративный процесс для установки дополнительного встраиваемого фильтра, динамически вызываемого системным процессом
В описании, относящемся к фиг. 5, кратко обсуждался способ 550 для установки фильтров в системе. На фиг. 6 с дополнительными подробностями показан процесс установки фильтров. На этапе 610 система получает дополнительное встраиваемое средство, подлежащее установке в системе. Дополнительный встраиваемый фильтр может являться программным объектом компонентной модели, который может быть предоставлен вместе с относящимися к нему драйверами устройств, вместе с установкой новых приложений и т.д. Также можно отправить дополнительный встраиваемый фильтр на сервер в сети, так чтобы пользователи могли осуществлять доступ к этому серверу и скачивать дополнительные встраиваемые фильтры по усмотрению самих пользователей. Каков бы ни был способ получения дополнительного встраиваемого фильтра, сами разработчики фильтров должны быть хорошо знакомы с интерфейсом средства управления дополнительными встраиваемыми средствами (например, фиг. 5), чтобы использовать вышеописанные способы для установки своих фильтров в системе. Так, на этапе 620 дополнительный встраиваемый фильтр использует интерфейс средства управления дополнительными встраиваемыми средствами для адресации вызова от средства управления дополнительными встраиваемыми средствами, чтобы начать установку фильтра. Фильтр предоставляет средству управления дополнительными встраиваемыми средствами идентификатор его категории, идентификатор фильтра, название фильтра и описание. Затем на этапе 630 средство управления дополнительными встраиваемыми средствами проверяет, заслуживает ли добавляемый фильтр доверие. Добавляемый фильтр предоставляют с цифровой подписью, которую средство управления дополнительными встраиваемыми средствами определяет как подлинную. На этапе 640, если подпись оказывается неприемлемой, то тогда на этапе 650 средство управления дополнительными встраиваемыми средствами отвергает добавляемый фильтр. Однако, если на этапе 640 подпись оказывается приемлемой, то добавляемый фильтр считается заслуживающим доверие. Затем на этапе 660 средство управления дополнительными встраиваемыми средствами использует параметры, предоставляемые дополнительными встраиваемыми фильтрами, для их установки в системе. Если добавляемые дополнительные встраиваемые фильтры не принадлежат стандартной категории фильтров либо какой-либо другой категории, с которой система уже хорошо знакома, то тогда процессу, вызывающему средство управления дополнительными встраиваемыми средствами, возможно понадобится добавить в реестр категорию (510) до установки какого-либо из связанных с ним фильтров.
Иллюстративный процесс, связанный с поиском и нумерацией дополнительных встраиваемых фильтров в системе
После установки фильтров, как было описано со ссылками на фиг.6, их можно пронумеровать и предоставить системным процессам для расширения их возможностей. Описание такого общего процесса представлено на фигурах 7 и 8. На этапе 710 средство управления дополнительными встраиваемыми средствами принимает запрос от системного процесса на нумерацию списка дополнительных встраиваемых фильтров, имеющихся в системе, которые удовлетворяют критериям, предоставляемым вызывающим процессом. После приема средством управления дополнительными встраиваемыми средствами запроса на нумерацию на этапе 720 средство управления отвечает на запрос, пронумеровывая список дополнительных встраиваемых фильтров, предоставленный вызывающему процессу.
Критерии для выбора фильтров, подлежащих нумерации, могут быть представлены просто как список фильтров, принадлежащих одной или нескольким категориям фильтров (например, 540). Критерии могут быть также более сложными, такими как запрос нумерации фильтров, которые имеют цифровые подписи, связанные с конкретным объектом, заслуживающим доверия. На фиг. 8 показан процесс для нумерации дополнительных встраиваемых фильтров, имеющихся в системе, на основе иллюстративного набора критериев. На этапе 810 средство управления дополнительными встраиваемыми средствами принимает от процесса запрос на нумерацию дополнительных встраиваемых фильтров. На этапе 820 средство управления дополнительными встраиваемыми средствами идентифицирует все фильтры, принадлежащие категориям, которые заданы в запросе процесса. Далее на этапе 830 средство управления дополнительными встраиваемыми средствами подтверждает, что выбранные фильтры имеют одну или несколько цифровых подписей, заданных запрашивающим процессом. Например, приложения от Microsoft® Corporation, возможно, захотят использовать только те дополнительно встраиваемые фильтры, которые имеют цифровые подписи, проверенные и утвержденные Microsoft®. Кроме того, на этапе 840 средство управления дополнительными встраиваемыми средствами удостоверяется в том, что у выбранных фильтров не просрочена определенная дата, связанная с данным фильтром. Это может оказаться полезным, если фильтр был загружен в систему с целью пробного использования пользователем, которому еще необходимо будет приобрести законную лицензию на данный фильтр. Таким образом, на этапе 850 нумеруются только те фильтры, которые удовлетворяют всем критериям, заданным процессом (например, идентификатор категории, приемлемые цифровые подписи, дата истечения срока действия и т.д.). Более сложные критерии могут также зависеть от названия или описания устанавливаемых фильтров. Однако, чем фильтры более сложные, тем процесс их нумерации может оказаться менее эффективным. Также один или несколько критериев могут быть установлены средством управления дополнительными встраиваемыми средствами, дополнительным встраиваемым фильтром и операционной системой или комбинацией перечисленного.
Иллюстративный процесс для выбора и использования дополнительных встраиваемых фильтров, имеющихся в системе
После нумерации списка фильтров, выполняемой средством управления дополнительными встраиваемыми средствами в ответ на запрос от процесса, этот процесс может использовать дополнительный встраиваемый фильтр для расширения своих собственных возможностей. Как показано на фиг. 9, на этапе 910 процесс, запрашивающий нумерацию дополнительных встраиваемых фильтров, принимает пронумерованный список или таблицу дополнительных встраиваемых фильтров, либо осуществляет доступ к этому списку. Затем на этапе 920 процесс, запрашивающий нумерацию, выбирает один или несколько имеющихся дополнительных встраиваемых фильтров. Далее на этапе 930 процесс, запрашивающий нумерацию, принимает указатель интерфейса на выбранный объект - дополнительный встраиваемый фильтр. Далее на этапе 940 процесс использует интерфейс к дополнительному встраиваемому фильтру для вызова фильтра и соответствующие этому фильтру способы обработки выбранных мультимедийных данных. Также, возможно, окажется выгодным, чтобы процесс запрашивал или давал команду средству управления дополнительными встраиваемыми средствами на вызов фильтра вместо непосредственного вызова фильтра самим процессом. Это позволит выполнять процесс, запрашивающий использование дополнительных встраиваемых фильтров, отдельно от процесса фильтра, что снижает вероятность уязвимости фильтра ко всякого рода ошибкам.
Список пронумерованных фильтров может быть отображен пользователю через интерфейс пользователя для приложений или программных средств сбора и обработки данных, что позволяет пользователю выбрать фильтр из упомянутого списка. Однако предоставление указанного списка пользователю не всегда может быть необходимым или полезным. В указанном случае приложения или другие системные процессы могут выполнить автоматический выбор фильтра из списка пронумерованных дополнительных встраиваемых фильтров.
После вызова процессом выбранного дополнительного встраиваемого фильтра для обработки мультимедийных данных процесс или средство управления дополнительными встраиваемыми средствами (как возможный случай) может передать управление обработкой самому фильтру. Как показано на фиг. 10, на этапе 1010 дополнительный встраиваемый фильтр может предоставить пользователю интерфейс пользователя для ввода параметров, необходимых для обработки мультимедийных данных. На фиг. 11 показан один пример такого интерфейса пользователя, связанного с вводом параметров, определенных пользователем, для фильтра с эффектом рассеяния. В альтернативном варианте функциональные возможности фильтра, возможно, не потребуют от пользователя ввода каких-либо параметров процесса (например, некоторые аналитические фильтры требуют лишь ввода мультимедийных данных, а в качестве выходных данных могут предоставить один или несколько типов метаданных). На этапе 1020 дополнительный встраиваемый фильтр использует заданные параметры для обработки мультимедийных данных. Затем на этапе 1030 дополнительный встраиваемый фильтр подает обработанные данные в процесс, вызывающий дополнительный встраиваемый фильтр, или другой фильтр для продолжения обработки мультимедийных данных. Затем обработанные данные могут быть переданы целевому средству воспроизведения, такому, как дисплей или динамик.
Иллюстративная модель защиты системы для установки и вызова дополнительных встраиваемых фильтров
Системная архитектура по фиг. 4, позволяющая системным процессам расширять свои возможности путем использования дополнительных встраиваемых фильтров, является открытой и гибкой. Это выгодно в том отношении, что указанная открытая и гибкая архитектура позволяет пользователю добавлять нужные лично ему компоненты обработки мультимедийных данных на рабочий стол. Однако это также делает систему уязвимой к ошибкам и дефектам, которые могут быть в дополнительном встраиваемом фильтре, предоставленном поставщиком ISV, поставщиком IHV или третьей стороной. Создатели программных средств операционной системы или приложений всегда опасаются позволять пользователю расширять возможности процессов системы или приложения путем использования компонентов, предоставляемых другими сторонами, из-за возрастающего риска, связанного с нарушением безопасности. Однако, как было описано выше, некоторые из этих опасений могут быть устранены путем предъявления требования поставки дополнительных встраиваемых фильтров с цифровыми подписями, которые могут подтвердить их соответствие требованиям безопасности. Например, средство управления дополнительными встраиваемыми средствами может быть сконфигурировано таким образом, чтобы оно требовало предоставление всеми дополнительными встраиваемыми фильтрами одной или нескольких утвержденных цифровых подписей (смотри, например, этап 630). Также даже после того, как установка дополнительного встраиваемого фильтра в системе утверждена, процессы, запрашивающие дополнительные встраиваемые фильтры, могут задать средству управления дополнительными встраиваемыми средствами дополнительные критерии безопасности, так что для выбора нумеруются только те фильтры, которые удовлетворяют указанным критериям (смотри, например, этап 830).
Кроме того, на фигурах 12 и 13 показан еще один механизм защиты для защиты процессов от любых ошибок или дефектов в дополнительных встраиваемых фильтрах, используемых для расширения возможностей этих процессов. Как показано на фиг. 12, процесс 1210 может запросить средство 1220 управления дополнительными встраиваемыми средствами для нумерации списка имеющихся дополнительных встраиваемых фильтров 1230. Процесс может также запросить средство 1220 управления дополнительными встраиваемыми средствами на предмет идентификации цифровых подписей, связанных с каждым из дополнительных встраиваемых фильтров. Те фильтры, которые не могут предоставить одну или несколько из определенных утвержденных цифровых подписей, могут быть помещены в «песочницу» (среду изоляции, карантин) 1240, так что выбранные фильтры 1250, 1251 и 1253 можно будет использовать вне процесса 1210. Таким образом, процесс 1210 может быть изолирован от выбранных фильтров 1250, 1251 и 1253, так что любые ошибки или дефекты в этих фильтрах не смогут вызвать отказ при функционировании процесса 1210. Однако у процесса 1210 останется способность принимать выходные данные фильтров 1250, 1251 и 1253.
Подход на основе помещения некоторых фильтров в «песочницу», показанный на фиг. 12, может привести к значительному снижению скорости обработки мультимедийных файлов. Следовательно, в определенных обстоятельствах может также оказаться выгодным использовать фильтр в самом процессе 1210. На фиг. 13 показан дополнительный встраиваемый объект 1320, вызываемый и используемый в процессе 1310. Хотя это обычно приводит к более быстрой обработке, имеется опасность отказа в процессе 1310 в результате ошибок в дополнительном встраиваемом фильтре 1320. Таким образом, средство 1340 управления дополнительными встраиваемыми средствами можно использовать для проверки подлинности цифровых подписей дополнительных встраиваемых фильтров, так что вызывать и использовать в процессе 1310 можно будет только те фильтры, которые представили утвержденные подписи 1320. В противном случае дополнительные встраиваемые фильтры можно разместить вне процесса 1310, как показано на фиг. 12. Например, если приложение принимает от средства 1340 управления дополнительными встраиваемыми средствами подтверждение надежности фильтра, то процесс 1310 приложения может загрузить фильтр, подлежащий вызову через пользовательский интерфейс этого приложения. Такое структурное решение позволит разработчикам фильтров рекламировать свои бренды даже в том случае, когда они используются в программных средствах другого объекта.
Иллюстративные характеристики дополнительных встраиваемых фильтров, используемых для динамического расширения возможностей системных процессов
Может потребоваться, чтобы дополнительные встраиваемые фильтры, используемые средством управления дополнительными встраиваемыми средствами для расширения возможностей процесса (как разрешено системной архитектурой по фиг. 4), имели определенные стандартные функциональные возможности для эффективной работы со средством управления дополнительными встраиваемыми средствами и системными процессами. Например, дополнительные встраиваемые фильтры способны принимать входные данные множества типов и выдавать выходные данные множества типов. Один такой фильтр представляет собой стыковочный фильтр, который может принять множество изображений и создать одно выходное изображение. Также фильтр для сканирования документов может взять одно изображение и создать множество выходных типов, таких как изображения и текстовые данные. Примерами фильтров, которые обеспечивают выходные данные, отличные от изображений, включают в себя генераторы аннотаций и фильтры для измерений параметров изображения. Генератор аннотаций может выделять такие данные, как дата, из отметки даты на изображении или данные о том, есть ли в изображении люди. Фильтр для измерений параметров изображения может сформировать аспекты предварительно отсканированного изображения, относящиеся к гистограммам или измерениям, которые следует использовать для настройки параметров сканирования.
Кроме того, дополнительные встраиваемые фильтры должны иметь возможность принимать входные данные от другого фильтрующего объекта, а также предоставлять свои выходные сигналы на другой фильтрующий объект. Как показано на фиг. 14, дополнительные встраиваемые фильтры 1410, 1420 и 1430 могут быть связаны в цепочку, так что мультимедийные данные 1440 можно будет обрабатывать с одновременным использованием множества фильтров 1410, 1420 и 1430. В противном случае каждый из дополнительных встраиваемых фильтров 1410, 1420 и 1430 должен обрабатывать данные отдельно с последующим их воспроизведением, а затем эти данные должны обрабатываться снова другим фильтром. Это может потребовать много времени. При использовании возможностей фильтров, связываемых в цепочку, средство управления дополнительными встраиваемыми средствами может перенумеровать несколько фильтров, а приложения могут сразу выбрать множество фильтров эффектов, чтобы расширить свои возможности.
Еще один признак дополнительных встраиваемых фильтров показан на фиг. 15. Обычно фильтры способны обрабатывать только части входных мультимедийных данных. Например, если речь идет об обработке изображений, то фильтры, такие как дополнительный встраиваемый фильтр 1510 эффекта, способны принимать часть полного изображения (например, идентифицированную координатами), обрабатывать эту выбранную часть и выдавать ее целевому средству 1530 воспроизведения. Таким образом, когда приложение манипулирует изображением посредством фильтра, исходный вид изображения может сохраняться, когда часть изображения изменяется под воздействием эффекта. Это позволяет приложению обеспечивать пользователя практически мгновенным видом эффекта от дополнительного встраиваемого средства. Если, например, данный эффект нежелателен, то соответствующее дополнительное встраиваемое средство можно не выбирать. Хотя на фиг. 15 используется пример файла изображений для иллюстрации указанного признака фильтра, аналогичным образом могут быть обработаны и другие мультимедийные данные (например, аудио или видео) с помощью фильтров соответствующих типов.
Как показано на фиг. 16, признак, состоящий в связывании дополнительных встраиваемых фильтров в цепочку (фиг. 14), и признак, состоящий в обработке части мультимедийного файла, могут быть объединены для связывания множества фильтров в цепочку и просмотра или прослушивания эффектов от дополнительных встраиваемых фильтров, когда обрабатываются части входного файла. Например, часть полного изображения (1610) может быть масштабирована (1620), а затем эта выбранная часть может быть отброшена (1630) для исключения эффекта «красных глаз» перед визуализацией изображения (1650).
Альтернативные варианты
Указанные способы и системы описывают функциональные возможности ряда системных компонентов, таких как системная служба управления дополнительными встраиваемыми средствами, дополнительные встраиваемые фильтры и системные процессы. Следует понимать, что функциональные возможности, приписываемые любому одному из этих и других вышеописанных компонентов, могут также выполняться любыми другими родственными компонентами, если они запрограммированы для их выполнения.
Также в примерах обсуждается обработка мультимедийных данных определенного типа (например, видео-, аудиоизображений и т.д.); однако, концепции, лежащие в основе этих примеров, равным образом применимы ко всем формам мультимедийных данных. В свете множества возможных вариантов осуществления очевидно, что проиллюстрированные варианты осуществления изобретения включают в себя лишь примеры и не должны рассматриваться как ограничение объема изобретения. Напротив, изобретение определяется нижеследующей формулой изобретения. Таким образом, заявленное изобретение претендует на все указанные варианты осуществления, которые не выходят за рамки объема, определенного формулой изобретения.

Claims (23)

1. Реализуемый на компьютере способ управления мультимедийными фильтрами, причем компьютер имеет операционную систему с являющимся службой системного уровня средством управления дополнительными встраиваемыми средствами для установки мультимедийных фильтров, при этом способ включает в себя этапы, на которых
принимают посредством являющегося службой системного уровня средства управления дополнительными встраиваемыми средствами, запрос от по меньшей мере одного мультимедийного фильтра, подлежащего установке, на установку упомянутого по меньшей мере одного мультимедийного фильтра,
устанавливают посредством являющегося службой системного уровня средства управления дополнительными встраиваемыми средствами упомянутый по меньшей мере один мультимедийный фильтр, и
используют посредством процесса интерфейс к являющемуся службой системного уровня средству управления дополнительными встраиваемыми средствами для вызова одного из упомянутого по меньшей мере одного мультимедийного фильтра для обработки мультимедийных данных.
2. Способ по п.1, в котором запрос на установку по меньшей мере одного мультимедийного фильтра содержит один или более из следующих объектов:
один или более уникальных идентификаторов, соответствующих категориям, связанным с мультимедийными фильтрами,
один или более уникальных идентификаторов, соответствующих мультимедийным фильтрам,
одно или более названий, соответствующих мультимедийным фильтрам,
одно или более описаний мультимедийных фильтров, и
одну или более цифровых подписей, связанных с каждым из мультимедийных фильтров.
3. Способ управления мультимедийными фильтрами, реализуемый в компьютерной системе, которая имеет операционную систему с являющимся службой системного уровня средством управления дополнительными встраиваемыми средствами для установки и нумерации мультимедийных фильтров, при этом способ содержит этапы, на которых
принимают посредством являющегося службой системного уровня средства управления дополнительными встраиваемыми средствами запрос от по меньшей мере одного мультимедийного фильтра, подлежащего установке, на установку упомянутого по меньшей мере одного мультимедийного фильтра,
устанавливают посредством являющегося службой системного уровня средства управления дополнительными встраиваемыми средствами упомянутый по меньшей мере один мультимедийный фильтр,
принимают посредством являющегося службой системного уровня средства управления дополнительными встраиваемыми средствами запрос на нумерацию одного или более из установленных мультимедийных фильтров,
нумеруют посредством являющегося службой системного уровня средства управления дополнительными встраиваемыми средствами один или более из установленных мультимедийных фильтров, и
используют посредством процесса интерфейс к являющемуся службой системного уровня средству управления дополнительными встраиваемыми средствами для вызова одного из упомянутых одного или более пронумерованных фильтров для обработки мультимедийных данных.
4. Способ по п.3, в котором запрос на нумерацию установленных мультимедийных фильтров принимают от одного или более процессов, связанных с компьютером.
5. Способ по п.3, в котором установленные мультимедийные фильтры нумеруют в соответствии с одной или более категориями, соответствующими мультимедийным фильтрам.
6. Способ по п.5, в котором каждая из категорий соответствует уникальному глобальному в масштабе системы идентификатору, а запрос на нумерацию фильтров содержит уникальный идентификатор категории.
7. Способ по п.3, дополнительно включающий в себя этап, на котором определяют приемлемость одной или более цифровых подписей, связанных с одним или более мультимедийными фильтрами, до установки фильтров.
8. Способ по п.7, дополнительно включающий в себя этап, на котором определяют приемлемость упомянутых одной или более цифровых подписей, связанных с фильтрами, до нумерации установленных фильтров.
9. Способ по п.3, дополнительно включающий в себя этап, на котором определяют приемлемость одной или более цифровых подписей, связанных с фильтрами, до нумерации установленных фильтров.
10. Способ по п.9, дополнительно включающий в себя этап, на котором отделяют от процессов, запрашивающих нумерацию установленных фильтров, те фильтры, для которых определено, что они имеют неприемлемые цифровые подписи.
11. Способ по п.9, в котором приемлемость установленных фильтров для нумерации определяют в соответствии с критериями, полученными от процесса, запрашивающего нумерацию.
12. Способ по п.9, в котором приемлемость установленных в системе фильтров для нумерации определяют в соответствии с критериями, полученными от одного или более из следующих средств:
процесса, запрашивающего нумерацию,
установленных фильтров, и
операционной системы.
13. Способ по п.3, в котором мультимедийные фильтры соединяют вместе в цепочку, а входные мультимедийные данные обрабатывают последовательно мультимедийными фильтрами в цепочке.
14. Способ по п.3, в котором множество процессов могут использовать любой из мультимедийных фильтров одновременно.
15. Машиночитаемый носитель, который содержит исполняемые компьютером команды для выполнения способа по п.3.
16. Способ конфигурирования в соответствии с требованиями заказчика расширяемого компьютерного системного процесса, относящегося к мультимедиа, который выполняется в компьютерной системе, имеющей относящуюся к дополнительным встраиваемым средствам службу операционной системы для нумерации установленных в компьютерной системе фильтров, относящихся к мультимедиа, причем способ содержит этапы, на которых
запрашивают относящуюся к дополнительным встраиваемым средствам службу операционной системы выполнить нумерацию установленных в компьютерной системе фильтров, относящихся к мультимедиа,
выбирают посредством упомянутого процесса, используя интерфейс к упомянутой относящейся к дополнительным встраиваемым средствам службе, один или более из пронумерованных фильтров, относящихся к мультимедиа, и
вызывают посредством упомянутого процесса выбранные фильтры, относящиеся к мультимедиа, для обработки данных, относящихся к мультимедиа.
17. Способ по п.16, дополнительно включающий в себя этап, на котором подтверждают, что системный процесс имеет надлежащие полномочия на использование выбранного фильтра, относящегося к мультимедиа.
18. Способ по п.16, в котором системный процесс является одним из следующих средств:
прикладной программой для обработки мультимедийных данных, драйвером устройства, и
программным средством сбора и обработки данных, относящимся к мультимедиа.
19. Машиночитаемый носитель, который содержит исполняемые компьютером команды для выполнения способа по п.16.
20. Способ установки фильтра, относящегося к мультимедиа, в компьютерной системе, с которой ассоциирована операционная система, которая имеет являющееся службой системного уровня средство управления дополнительными встраиваемыми средствами для установки мультимедийных фильтров, причем способ содержит этапы, на которых
запрашивают являющееся службой системного уровня средство управления дополнительными встраиваемыми средствами установить в упомянутой системе мультимедийный фильтр,
предоставляют являющемуся службой системного уровня средству управления дополнительными встраиваемыми средствами мультимедийный фильтр, подлежащий установке, вместе с информацией, относящейся к этому мультимедийному фильтру,
устанавливают мультимедийный фильтр в упомянутой системе,
запрашивают посредством процесса являющееся службой системного уровня средство управления дополнительными встраиваемыми средствами пронумеровать мультимедийные фильтры, установленные в упомянутой системе,
используя интерфейс к являющемуся службой системного уровня средству управления дополнительными встраиваемыми средствами выбирают посредством упомянутого процесса один или более из пронумерованных мультимедийных фильтров, и
вызывают посредством упомянутого процесса выбранные мультимедийные фильтры для обработки данных, относящихся к мультимедиа.
21. Способ по п.20, в котором информация, относящаяся к мультимедийному фильтру, включает в себя один или более из следующих объектов:
один или более уникальных идентификаторов, соответствующих мультимедийному фильтру,
одно или более названий, соответствующих мультимедийному фильтру,
одно или более описаний мультимедийного фильтра, и
одну или более цифровых подписей, связанных с мультимедийным фильтром.
22. Машиночитаемый носитель, который содержит исполняемые компьютером команды для выполнения способа по п.20.
23. Способ эксплуатации мультимедийных фильтров, реализуемый в компьютерной системе, которая имеет операционную систему с являющимся службой системного уровня средством управления дополнительными встраиваемыми средствами для установки и нахождения мультимедийных фильтров, установленных в компьютере, при этом способ содержит этапы, на которых:
принимают посредством являющегося службой системного уровня средства управления дополнительными встраиваемыми средствами запрос от одного или более мультимедийных фильтров, подлежащих установке, на установку упомянутых одного или более мультимедийных фильтров в компьютерной системе,
устанавливают посредством являющегося службой системного уровня средства управления дополнительными встраиваемыми средствами упомянутые мультимедийные фильтры в компьютерной системе,
принимают от процесса посредством являющегося службой системного уровня средства управления дополнительными встраиваемыми средствами запрос на нахождение мультимедийных фильтров, установленных в компьютерной системе,
находят посредством являющегося службой системного уровня средства управления дополнительными встраиваемыми средствами мультимедийные фильтры, установленные в компьютерной системе,
выбирают посредством упомянутого процесса один или более найденных мультимедийных фильтров, и
принимают посредством упомянутого процесса по меньшей мере один указатель интерфейса на по меньшей мере один из упомянутых одного или более найденных мультимедийных фильтров.
RU2003129200/09A 2003-03-31 2003-09-30 Системная архитектура и связанные с ней способы динамического добавления программных компонентов для расширения функциональных возможностей системных процессов RU2353968C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/404,985 2003-03-31
US10/404,985 US7493614B2 (en) 2003-03-31 2003-03-31 System architecture and related methods for dynamically adding software components to extend functionality of system processes

Publications (2)

Publication Number Publication Date
RU2003129200A RU2003129200A (ru) 2005-03-20
RU2353968C2 true RU2353968C2 (ru) 2009-04-27

Family

ID=28792119

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2003129200/09A RU2353968C2 (ru) 2003-03-31 2003-09-30 Системная архитектура и связанные с ней способы динамического добавления программных компонентов для расширения функциональных возможностей системных процессов

Country Status (15)

Country Link
US (1) US7493614B2 (ru)
EP (1) EP1471423B1 (ru)
JP (2) JP4772282B2 (ru)
KR (1) KR101015351B1 (ru)
CN (1) CN100538625C (ru)
AU (1) AU2003244041B2 (ru)
BR (1) BR0304191A (ru)
CA (1) CA2439729C (ru)
HK (1) HK1067201A1 (ru)
MX (1) MXPA04002999A (ru)
MY (1) MY149417A (ru)
NO (1) NO331575B1 (ru)
RU (1) RU2353968C2 (ru)
TW (1) TWI301946B (ru)
ZA (1) ZA200306968B (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2628494C1 (ru) * 2015-02-11 2017-08-17 Сяоми Инк. Способ и устройство для генерирования фильтра изображения

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101165647B (zh) * 2006-10-17 2010-12-15 北京书生国际信息技术有限公司 一种文档库系统和文档库系统功能的扩展方法
US7240292B2 (en) 2003-04-17 2007-07-03 Microsoft Corporation Virtual address bar user interface control
US7823077B2 (en) 2003-03-24 2010-10-26 Microsoft Corporation System and method for user modification of metadata in a shell browser
US7769794B2 (en) 2003-03-24 2010-08-03 Microsoft Corporation User interface for a file system shell
US7712034B2 (en) 2003-03-24 2010-05-04 Microsoft Corporation System and method for shell browser
US7627552B2 (en) 2003-03-27 2009-12-01 Microsoft Corporation System and method for filtering and organizing items based on common elements
US7421438B2 (en) 2004-04-29 2008-09-02 Microsoft Corporation Metadata editing control
US7650575B2 (en) 2003-03-27 2010-01-19 Microsoft Corporation Rich drag drop user interface
US7925682B2 (en) 2003-03-27 2011-04-12 Microsoft Corporation System and method utilizing virtual folders
US8024335B2 (en) 2004-05-03 2011-09-20 Microsoft Corporation System and method for dynamically generating a selectable search extension
US7694236B2 (en) 2004-04-23 2010-04-06 Microsoft Corporation Stack icons representing multiple objects
US7657846B2 (en) 2004-04-23 2010-02-02 Microsoft Corporation System and method for displaying stack icons
US8707209B2 (en) 2004-04-29 2014-04-22 Microsoft Corporation Save preview representation of files being created
US7359902B2 (en) 2004-04-30 2008-04-15 Microsoft Corporation Method and apparatus for maintaining relationships between parts in a package
US8661332B2 (en) 2004-04-30 2014-02-25 Microsoft Corporation Method and apparatus for document processing
US7383500B2 (en) 2004-04-30 2008-06-03 Microsoft Corporation Methods and systems for building packages that contain pre-paginated documents
US8243317B2 (en) 2004-05-03 2012-08-14 Microsoft Corporation Hierarchical arrangement for spooling job data
US8363232B2 (en) 2004-05-03 2013-01-29 Microsoft Corporation Strategies for simultaneous peripheral operations on-line using hierarchically structured job information
US7580948B2 (en) 2004-05-03 2009-08-25 Microsoft Corporation Spooling strategies using structured job information
US7607141B2 (en) * 2004-05-03 2009-10-20 Microsoft Corporation Systems and methods for support of various processing capabilities
US7755786B2 (en) 2004-05-03 2010-07-13 Microsoft Corporation Systems and methods for support of various processing capabilities
US8032482B2 (en) * 2004-09-30 2011-10-04 Microsoft Corporation Method, system, and apparatus for providing a document preview
US7647559B2 (en) * 2004-09-30 2010-01-12 Microsoft Corporation Method and computer-readable medium for navigating between attachments to electronic mail messages
US7457671B2 (en) * 2004-09-30 2008-11-25 Rockwell Automation Technologies, Inc. Systems and methods that facilitate management of add-on instruction generation, selection, and/or monitoring during execution
US8156488B2 (en) * 2004-10-20 2012-04-10 Nokia Corporation Terminal, method and computer program product for validating a software application
US20060106869A1 (en) * 2004-11-17 2006-05-18 Ulead Systems, Inc. Multimedia enhancement system using the multimedia database
US7584111B2 (en) 2004-11-19 2009-09-01 Microsoft Corporation Time polynomial Arrow-Debreu market equilibrium
CN100349119C (zh) * 2004-12-30 2007-11-14 杭州华三通信技术有限公司 软件安装与集成的方法
US20060181540A1 (en) * 2005-02-12 2006-08-17 Patrick Loo Image editor with plug-in capability for editing images in a mobile communication device
US8195646B2 (en) 2005-04-22 2012-06-05 Microsoft Corporation Systems, methods, and user interfaces for storing, searching, navigating, and retrieving electronic information
US7665028B2 (en) 2005-07-13 2010-02-16 Microsoft Corporation Rich drag drop user interface
US8060483B2 (en) * 2005-08-15 2011-11-15 National Instruments Corporation Method for indexing file structures in an enterprise data system
CN1794734B (zh) * 2005-09-28 2010-04-14 华为技术有限公司 预先下载后续安装媒体对象的方法及终端设备
US7698685B2 (en) * 2005-10-12 2010-04-13 Microsoft Corporation Discovery, qualification, and activation of software add-in components
KR20070058977A (ko) * 2005-12-05 2007-06-11 한국전자통신연구원 홈 네트워크 단말 시스템 소프트웨어의 동적 재구성 장치및 방법
US8132106B2 (en) * 2006-06-23 2012-03-06 Microsoft Corporation Providing a document preview
US8850388B2 (en) * 2006-09-07 2014-09-30 Microsoft Corporation Controlling application features
US7908580B2 (en) * 2006-09-07 2011-03-15 Microsoft Corporation Connecting an integrated development environment with an application instance
US20080127055A1 (en) * 2006-09-07 2008-05-29 Microsoft Corporation Application proxy
US7530079B2 (en) * 2006-09-07 2009-05-05 Microsoft Corporation Managing application customization
US8438266B2 (en) * 2006-10-11 2013-05-07 Microsoft Corporation File sharing administration
US20080115124A1 (en) * 2006-11-10 2008-05-15 Charles J. Kulas Trial mode for selectively trying a component that adds functionality to base software
JP4996272B2 (ja) * 2007-01-31 2012-08-08 キヤノン株式会社 情報処理装置及びその制御方法及び該方法を実行するプログラム
US8484115B2 (en) 2007-10-03 2013-07-09 Palantir Technologies, Inc. Object-oriented time series generator
JP2010067156A (ja) * 2008-09-12 2010-03-25 Kubota Corp クライアントサーバシステム
US8041714B2 (en) * 2008-09-15 2011-10-18 Palantir Technologies, Inc. Filter chains with associated views for exploring large data sets
US8429194B2 (en) 2008-09-15 2013-04-23 Palantir Technologies, Inc. Document-based workflows
US20100070426A1 (en) 2008-09-15 2010-03-18 Palantir Technologies, Inc. Object modeling for exploring large data sets
US8745361B2 (en) 2008-12-02 2014-06-03 Microsoft Corporation Sandboxed execution of plug-ins
US8532714B2 (en) * 2009-01-29 2013-09-10 Qualcomm Incorporated Dynamically provisioning a device with audio processing capability
US20100313252A1 (en) * 2009-06-08 2010-12-09 Erie Trouw System, method and apparatus for creating and using a virtual layer within a web browsing environment
US8892646B2 (en) 2010-08-25 2014-11-18 Damaka, Inc. System and method for shared session appearance in a hybrid peer-to-peer environment
US8611540B2 (en) 2010-06-23 2013-12-17 Damaka, Inc. System and method for secure messaging in a hybrid peer-to-peer network
US8554797B2 (en) * 2010-12-17 2013-10-08 Sap Ag System and method for modular business applications
US8407314B2 (en) 2011-04-04 2013-03-26 Damaka, Inc. System and method for sharing unsupported document types between communication devices
US9063776B2 (en) * 2011-05-27 2015-06-23 Microsoft Technology Licensing, Llc Application activation framework
US8918776B2 (en) 2011-08-24 2014-12-23 Microsoft Corporation Self-adapting software system
US8732574B2 (en) 2011-08-25 2014-05-20 Palantir Technologies, Inc. System and method for parameterizing documents for automatic workflow generation
CA2759461C (en) * 2011-11-24 2018-11-20 Ibm Canada Limited - Ibm Canada Limitee Platform specific payload management
US9348677B2 (en) 2012-10-22 2016-05-24 Palantir Technologies Inc. System and method for batch evaluation programs
US8930897B2 (en) 2013-03-15 2015-01-06 Palantir Technologies Inc. Data integration tool
US8868486B2 (en) 2013-03-15 2014-10-21 Palantir Technologies Inc. Time-sensitive cube
US9785767B2 (en) * 2013-03-15 2017-10-10 Imagine Communications Corp. Systems and methods for determining trust levels for computing components
US10628578B2 (en) 2013-03-15 2020-04-21 Imagine Communications Corp. Systems and methods for determining trust levels for computing components using blockchain
US8903717B2 (en) 2013-03-15 2014-12-02 Palantir Technologies Inc. Method and system for generating a parser and parsing complex data
US8909656B2 (en) 2013-03-15 2014-12-09 Palantir Technologies Inc. Filter chains with associated multipath views for exploring large data sets
US8855999B1 (en) 2013-03-15 2014-10-07 Palantir Technologies Inc. Method and system for generating a parser and parsing complex data
US9027032B2 (en) 2013-07-16 2015-05-05 Damaka, Inc. System and method for providing additional functionality to existing software in an integrated manner
JP6217034B2 (ja) * 2013-07-31 2017-10-25 華為技術有限公司Huawei Technologies Co.,Ltd. 関連プラグインの管理方法、装置およびシステム
JP6196848B2 (ja) * 2013-09-02 2017-09-13 株式会社オービックビジネスコンサルタント 情報処理装置、情報処理方法、及びプログラム
US8938686B1 (en) 2013-10-03 2015-01-20 Palantir Technologies Inc. Systems and methods for analyzing performance of an entity
US9105000B1 (en) 2013-12-10 2015-08-11 Palantir Technologies Inc. Aggregating data from a plurality of data sources
US8935201B1 (en) 2014-03-18 2015-01-13 Palantir Technologies Inc. Determining and extracting changed data from a data source
CA2956617A1 (en) 2014-08-05 2016-02-11 Damaka, Inc. System and method for providing unified communications and collaboration (ucc) connectivity between incompatible systems
US9967418B1 (en) 2016-10-31 2018-05-08 Microsoft Technology Licensing, Llc Platform DMFT and interaction with IHV DMFT
US11126446B2 (en) * 2019-10-15 2021-09-21 Microsoft Technology Licensing, Llc Contextual extensible skills framework across surfaces
CN114020361A (zh) * 2021-11-09 2022-02-08 上海浦东发展银行股份有限公司 一种基于过滤器的链式规则处理方法、装置及存储介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08314701A (ja) * 1995-05-16 1996-11-29 Hitachi Ltd エンドユーザ作成プログラムの自動検出管理方式と管理装置
JP3601949B2 (ja) * 1996-09-17 2004-12-15 株式会社東芝 プログラム合成装置及びプログラム合成方法
US6310941B1 (en) * 1997-03-14 2001-10-30 Itxc, Inc. Method and apparatus for facilitating tiered collaboration
US6216152B1 (en) 1997-10-27 2001-04-10 Sun Microsystems, Inc. Method and apparatus for providing plug in media decoders
US6141759A (en) * 1997-12-10 2000-10-31 Bmc Software, Inc. System and architecture for distributing, monitoring, and managing information requests on a computer network
US6446109B2 (en) * 1998-06-29 2002-09-03 Sun Microsystems, Inc. Application computing environment
US6370686B1 (en) 1998-09-21 2002-04-09 Microsoft Corporation Method for categorizing and installing selected software components
US6683696B1 (en) * 1998-10-27 2004-01-27 Hewlett-Packard Development Company, L.P. Filter based data imaging method for an image forming device
JP3740931B2 (ja) * 2000-03-01 2006-02-01 日本電信電話株式会社 アプリケーションプログラム管理方法及びシステム及びコンピュータ読み取り可能な記録媒体
US6957199B1 (en) * 2000-08-30 2005-10-18 Douglas Fisher Method, system and service for conducting authenticated business transactions
JP4458219B2 (ja) * 2001-03-28 2010-04-28 セイコーエプソン株式会社 印刷システムおよび印刷制御プログラム
US20020174206A1 (en) * 2001-05-21 2002-11-21 Moyer Alan L. Web-based file manipulating system
US7149734B2 (en) * 2001-07-06 2006-12-12 Logic Library, Inc. Managing reusable software assets
US7171690B2 (en) * 2001-08-01 2007-01-30 Mcafee, Inc. Wireless malware scanning back-end system and method
JP2003067210A (ja) * 2001-08-22 2003-03-07 Just Syst Corp プログラム実行防止装置、プログラム実行防止方法、その方法をコンピュータに実行させるプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
US7519911B2 (en) * 2001-11-02 2009-04-14 At&T Intellectual Property Ii, L.P. Systems and methods for managing and aggregating media formats
US7376695B2 (en) * 2002-03-14 2008-05-20 Citrix Systems, Inc. Method and system for generating a graphical display for a remote terminal session
US7092946B2 (en) * 2002-12-02 2006-08-15 Lightsurf Technologies, Inc. System and methodology for providing a mobile device with a network-based intelligent resource fork

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2628494C1 (ru) * 2015-02-11 2017-08-17 Сяоми Инк. Способ и устройство для генерирования фильтра изображения
US9959484B2 (en) 2015-02-11 2018-05-01 Xiaomi Inc. Method and apparatus for generating image filter

Also Published As

Publication number Publication date
HK1067201A1 (en) 2005-04-01
EP1471423A2 (en) 2004-10-27
JP4772282B2 (ja) 2011-09-14
NO20033913L (no) 2004-10-01
EP1471423B1 (en) 2013-10-23
AU2003244041B2 (en) 2009-08-20
TW200419442A (en) 2004-10-01
JP2010055640A (ja) 2010-03-11
TWI301946B (en) 2008-10-11
MXPA04002999A (es) 2005-08-16
RU2003129200A (ru) 2005-03-20
CA2439729C (en) 2012-06-05
MY149417A (en) 2013-08-30
BR0304191A (pt) 2005-05-10
NO331575B1 (no) 2012-01-30
NO20033913D0 (no) 2003-09-04
CN1534461A (zh) 2004-10-06
JP2004303189A (ja) 2004-10-28
AU2003244041A1 (en) 2004-10-21
KR20040086098A (ko) 2004-10-08
EP1471423A3 (en) 2007-04-04
KR101015351B1 (ko) 2011-02-16
CA2439729A1 (en) 2004-09-30
ZA200306968B (en) 2004-06-17
US20040193599A1 (en) 2004-09-30
US7493614B2 (en) 2009-02-17
CN100538625C (zh) 2009-09-09
JP4585030B2 (ja) 2010-11-24

Similar Documents

Publication Publication Date Title
RU2353968C2 (ru) Системная архитектура и связанные с ней способы динамического добавления программных компонентов для расширения функциональных возможностей системных процессов
US7739659B2 (en) Information processing apparatus, executability determining method, and computer program for the same
CN1290005C (zh) 设备驱动程序安装方法及外围设备
CN102135892B (zh) 应用程序运行方法、装置及系统
US20130067459A1 (en) Order-Independent Deployment Collections with Dependency Package Identifiers
US20030217358A1 (en) Method, system, and article of manufacture for firmware downloads
MXPA05003943A (es) Parchado eficiente.
CN108874426B (zh) 一种应用程序更新方法、装置及可读存储介质
CN1685395A (zh) 用于使用多个应用的系统和方法
KR20030084886A (ko) 무선 장치에서 동적으로 다운로딩되고 실행되는 시스템서비스
US20070038670A1 (en) Context sensitive media and information
US20050216469A1 (en) Document managing system, document managing method, and program for implementing the method
CN110472381B (zh) 基于安卓系统的root权限隐藏方法、系统及存储介质
CN111198703A (zh) 一种版本升级方法、系统、设备以及介质
US20100131351A1 (en) Selecting Between Client-Side and Server-Side Market Detection
CN111200744A (zh) 一种多媒体播放控制方法、装置及智能设备
US20090292950A1 (en) Method for making test fixture
CN1304913C (zh) 呈现一个场景的装置和方法
CN114115933A (zh) 软件升级的方法、系统、装置、电子设备及介质
CN112685071A (zh) 应用程序修复方法、装置、设备及存储介质
US20080222419A1 (en) Content Management of Public/Private Content, Including Use of Digital Watermarks to Access Private Content
US20060150017A1 (en) Information processing apparatus, information processing method, computer program, and storage medium
WO2006077490A1 (en) Protection method and system against copying of data in files transmitted by streaming
CN112947949A (zh) 应用程序安装方法、装置及电子设备
CN116860275A (zh) 客户端更新方法、终端设备以及计算机可读存储介质

Legal Events

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

Effective date: 20150526

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

Effective date: 20201001