Патент на изобретение №2339995

Published by on




РОССИЙСКАЯ ФЕДЕРАЦИЯ



ФЕДЕРАЛЬНАЯ СЛУЖБА
ПО ИНТЕЛЛЕКТУАЛЬНОЙ СОБСТВЕННОСТИ,
ПАТЕНТАМ И ТОВАРНЫМ ЗНАКАМ
(19) RU (11) 2339995 (13) C2
(51) МПК

G06F17/00 (2006.01)

(12) ОПИСАНИЕ ИЗОБРЕТЕНИЯ К ПАТЕНТУ

Статус: по данным на 08.10.2010 – действует

(21), (22) Заявка: 2005122941/09, 19.12.2003

(24) Дата начала отсчета срока действия патента:

19.12.2003

(30) Конвенционный приоритет:

20.12.2002 US 60/435,486
20.12.2002 US 60/435,828
18.12.2003 US 10/740,227

(43) Дата публикации заявки: 27.01.2006

(46) Опубликовано: 27.11.2008

(56) Список документов, цитированных в отчете о
поиске:
RU 2193228 C2, 20.11.2002. US 6308061 B1, 23.10.2001. US 5761618 A, 02.06.1998. US 5920821 A, 06.07.1999. ДОЛГОЛАПТЕВ В.Г., Работа в Windows 95 на примерах. – М.: Восточная Книжная Компания, 1997.

(85) Дата перевода заявки PCT на национальную фазу:

20.07.2005

(86) Заявка PCT:

US 03/40921 (19.12.2003)

(87) Публикация PCT:

WO 2004/059513 (15.07.2004)

Адрес для переписки:

129090, Москва, ул. Б.Спасская, 25, стр.3, ООО “Юридическая фирма Городисский и Партнеры”, пат.пов. Ю.Д.Кузнецову, рег.№ 595

(72) Автор(ы):

СПРИГГ Стефен А. (US),
МАЙНИР Брайан М. (US),
КЕЛЛИ Брайан (US),
УОЛКЕР Роберт (US)

(73) Патентообладатель(и):

КВЭЛКОММ ИНКОРПОРЕЙТЕД (US)

(54) СИСТЕМА АВТОМАТИЧЕСКОЙ УСТАНОВКИ И ОБРАБОТКИ КОМПОНЕНТА В УСТРОЙСТВЕ НА ОСНОВЕ РЕЕСТРА

(57) Реферат:

Изобретение относится к системам для автоматической установки, обновления или удаления компонентов в устройстве на основе реестра. Техническим результатом является возможность обработки компонентов в большом количестве устройств за относительно короткое время, что обеспечивает быстрое обновление всех устройств, работающих в сети, в результате чего обеспечиваются наилучшие рабочие характеристики устройства и повышается эффективность сети. Такой результат достигается благодаря анализу списка действий для получения пары компонент/действие, которая идентифицирует компонент, предназначенный для обработки устройством, идентификации обработчика компонента. При этом определяют, что идентифицированный обработчик компонента не находится в устройстве, и устанавливают обработчик компонента в устройстве, регистрируют обработчик компонента в реестре устройства. Затем определяют, что компонент имеет выбранный тип компонента, и используют выбранный тип компонента для активации обработчика компонента для обработки компонента. 4 н. и 20 з.п.ф-лы, 7 ил.

Область техники, к которой относится изобретение

Настоящее изобретение, в общем, относится к обработке компонентов в устройстве и более конкретно к системе для автоматической установки, обновления или удаления компонентов в устройстве.

Уровень техники

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

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

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

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

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

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

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

В одном варианте выполнения устройство анализирует каждую пару компонент/действие в списке действий для определения, должно ли действие быть выполнено для идентифицированного компонента. Устройство сравнивает версию компонента в списке действий с версией компонента, сохраненной в устройстве. Если две версии компонента совпадают, устройство не предпринимает какое-либо действие в отношении этой пары компонент/действие. Если версии отличаются, устройство выполняет действие, ассоциированное с компонентом в списке действий. Например, если действие состоит в установке идентифицированного компонента, устройство загружает компонент и любую другую необходимую информацию из сервера загрузки и устанавливает этот компонент в устройстве. Таким образом, устройство последовательно анализирует список действий, выполняя назначенные действия только для новых версий компонента.

После обработки конкретной пары компонент/действие версию компонента, сохраненную в устройстве, обновляют, используя новую версию компонента, представленную в списке действий. Когда весь список действий будет обработан, устройство записывает идентификатор версии списка действий для исключения повторной обработки текущего списка действий в будущем. Таким образом, устройство не будет обрабатывать другой список действий до тех пор, пока версия списка действий, доступного на сервере загрузки, не будет отличаться от версии, сохраненной в устройстве.

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

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

В одном варианте выполнения система обеспечивает возможность добавлять поддержку устройства для компонентов на основе типа компонента. С этой целью предусмотрен “обработчик” (программа обработки) компонента, который разработан для обработки компонента, имеющего определенный тип компонента (то есть, определенный тип по стандарту “Многоцелевого расширения электронной почты в сети Интернет” (MIME, МРЭП)). Обработчик представляет собой прикладную программу или исполняемый файл, который сохраняет и фиксирует данные компонента. Например, система может выполнять загрузку и установку обработчика компонента, который предназначен для обработки компонентов, имеющих выбранный тип MIME. В одном варианте выполнения обработчик компонента зарегистрирован в реестре операционной системы устройства. После установки обработчика система может загружать компонент, имеющий выбранный тип, и ассоциированный обработчик будет активироваться для обработки компонента. Таким образом, обработчики компонента не внедряются на уровне операционной системы и поэтому могут поставляться OEM (ПКУ, поставщиком комплексного оборудования) или могут быть предоставлены третьей стороной и/или загружаться/обновляться динамически. Это позволяет не только обрабатывать новые типы компонентов устройства после их изготовления, но также обеспечивает новые механизмы для обработки компонентов новых типов.

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

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

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

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

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

Другие аспекты, преимущества и признаки настоящего изобретения будут очевидны после прочтения приведенного ниже краткого описания чертежей, подробного описания изобретения и формулы изобретения.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

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

на фиг.1 показан один вариант выполнения системы автоматической обработки компонентов в устройстве;

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

на фиг.3 представлен один вариант выполнения способа функционирования устройства для обеспечения системы автоматической обработки компонентов в устройстве;

на фиг.4 показан один вариант выполнения способа функционирования устройства при обработке обработчиков компонента, предназначенных для работы с компонентами конкретных типов;

на фиг.5 показан один вариант выполнения способа функционирования устройства при обработке обработчиков компонентов, предназначенных для работы с компонентами конкретных типов;

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

на фиг.7 показан один вариант выполнения списка действий, предназначенного для использования в системе автоматической обработки компонентов в устройстве.

ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ

В приведенном ниже подробном описании представлены варианты выполнения системы автоматической обработки компонентов в устройстве. Система пригодна для использования во многих типах кабельных или беспроводных сетей, включая, без ограничений, сети связи, общественные сети, такие как Интернет, частные сети, такие как виртуальные частные сети (ВЧС, VPN), локальные вычислительные сети, глобальные вычислительные сети, сети дальней связи или любые другие типы информационных сетей. Система также пригодна для использования с устройством любого типа, которое позволяет загружать и устанавливать компоненты. Например, система пригодна для использования с офисными компьютерами, переносными компьютерами и карманными устройствами, такими как портативные телефоны, КПК или устройства любого другого типа, которые могут принимать и устанавливать компоненты.

В одном или нескольких вариантах выполнения система взаимодействует с исполняемой средой, выполняемой на устройстве, которая используется для упрощения работы устройства, например обрабатывает обобщенные вызовы конкретных ресурсов устройства. Одна из таких исполняемых сред представляет собой программную платформу Binary Runtime Environment for Wireless (BREW), разработанную компанией QUALCOMM, Inc, г. Сан-Диего, штат Калифорния. В следующем описании предполагается, что в устройстве выполняется исполняемая среда, такая как программная платформа BREW. Однако один или несколько вариантов выполнения системы можно использовать с другими типами исполняемых сред для автоматической обработки компонентов в множестве кабельных и беспроводных устройств.

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

В одном или нескольких вариантах выполнения система обрабатывает компоненты в устройстве 106. Например, сервер 102 включает компоненты 112, список 110 действий, идентификатор 108 версии списка действий и обработчики 120 компонента. Идентификатор 108 версии идентифицирует текущую версию списка 110 действий. Список 110 действий содержит пары компонент/действие, причем каждая пара содержит идентификатор компонента и идентификатор действия. Идентификатор компонента представляет собой уникальный идентификатор элемента, который идентифицирует конкретный компонент. Участок идентификатора компонента используют для идентификации версии компонента. Например, идентификатор компонента представляет собой последовательность битов, в которой участок этой последовательности битов используют для идентификации версии компонента. Идентификатор действия идентифицирует конкретное действие, такое как установить, обновить, удалить, повторно вызвать, отключить, или любое другое действие, которое устройство 106 выполняет в отношении идентифицированного компонента.

Обработчики 120 компонента предназначены для обработки выбранных типов компонента. Например, в одном варианте выполнения обработчики компонента предназначены для обработки компонентов, имеющих определенные типы MIME. Обработчики компонента могут быть установлены в устройстве 106 и могут быть зарегистрированы в реестре операционной системы устройства. После установки обработчики компонента активируют для обработки компонентов, имеющих соответствующие типы формата.

Во время работы сервер 102 передает идентификатор 108 версии списка действий в устройство 106 по сети 104. Например, устройство 106 может войти в контакт с сервером 102 во время последовательности включения, и сервер 102 отвечает путем передачи идентификатора 108 версии списка действий в устройство 106. В другом варианте выполнения сервер 102 входит в контакт с устройством 106, когда новая версия списка действий становится доступной для загрузки. Например, в одном варианте выполнения, когда новый список действий становится доступным, сервер 102 передает сообщение в устройство 106, которое включает идентификатор 108 версии списка действий. Устройство 106 сравнивает идентификатор 108 версии с сохраненным идентификатором 114 версии, который представляет версию последнего списка действий, для обработки в устройстве 106. Если загруженная версия 108 и сохраненная версия 114 являются эквивалентными, устройству не требуется выполнять какие-либо установки или изменения в отношении существующих компонентов 116 в устройстве. Однако если загруженная версия 108 отличается от сохраненной версии 114, тогда устройство 106 определяет, что требуется дополнительная обработка компонентов. Например, на сервере 102 могут быть расположены новые компоненты, которые требуется установить в устройство 106.

Как только устройство 106 определит, что существует новая версия списка действий, оно передает запрос в сервер 102 на получение нового списка 110 действий. Сервер 102 отвечает путем передачи списка 110 действия в устройство 106. Устройство 106 затем обрабатывает список 110 действий для установки обновления, удаления или другой обработки компонентов, идентифицированных в списке 110 действий.

Устройство 106 выполняет обработку списка 110 действий путем последовательной обработки каждой пары компонент/действие и определения, следует или нет предпринимать действия в отношении каждого компонента. Например, если в списке действий указано, что компонент должен быть установлен или обновлен, устройство 106 загружает компонент 112 и любые другие требуемые файлы из сервера 102 и устанавливает их в устройстве 106. Например, информация из сервера 102, переданная в устройство 106, представлена, в общем, позицией 120. Если в списке 110 действий указано, что компонент должен быть удален, устройство 106 удаляет компонент. Таким образом, каждая пара компонент/действие в списке 110 действий обрабатывается устройством 106 для автоматической установки, обновления, удаления и т.д., идентифицированного компонента. Список действий может иметь любую длину, и после обработки списка действий устройство 106 обновляет сохраненный идентификатор 114 версии списка действий для сохранения версии самого последнего обработанного списка действий (то есть, версии 108).

В одном варианте выполнения устройство 106 анализирует пары компонент/действие в списке 110 действий для определения, требуется ли предпринимать действия в отношении конкретного компонента. Например, в устройстве 106 уже может быть установлена последняя версия компонента, и поэтому для устройства не требуется повторно устанавливать этот компонент. В одном варианте выполнения идентификатор компонента в списке 110 действий включает информацию для определения версии компонента. Например, информация версии может быть прикреплена к концу идентификатора компонента. Устройство 106 сравнивает сохраненную версию 118 компонента с версией компонента, загруженной в списке 110 действий. Если сохраненные и загруженные версии компонента являются одинаковыми, тогда устройству не требуется предпринимать какое-либо действие в отношении этого компонента. Однако, если сохраненные и загруженные версии компонента отличаются друг от друга, тогда устройство 106 выполняет действие, связанное с этим компонентом из списка действий. Таким образом, система очень эффективно работает, поскольку устройство 106 обрабатывает только новые версии компонентов.

В одном варианте выполнения список действий содержит пару компонент/действие, которая идентифицирует конкретный обработчик 120 компонента, который должен быть установлен в устройстве 106. Обработчик 120 компонента представляет собой программу, которая разработана для обработки компонентов, имеющих определенный тип компонента. Например, тип компонента может представлять собой тип MIME, который идентифицирует формат файла. В одном варианте выполнения тип компонента может быть представлен в виде строки знаков, добавленных к началу файла компонента. По существу, тип компонента определяет способ обработки данных компонента.

После установки обработчика 120 компонента в устройстве 106 обработчик 120 компонента обрабатывает любые компоненты, которые имеют выбранный тип компонента. В одном варианте выполнения система устанавливает обработчик компонента для обработки компонента, который еще не был установлен. Например, система выполняет следующие этапы для автоматической обработки компонентов в устройстве.

1. Установить в устройстве обработчик компонента для обработки конкретного типа компонента.

2. Загрузить в устройство компонент данных, который имеет определенный тип компонента.

3. Обработать компонент данных с использованием обработчика компонента.

Таким образом, система при работе обеспечивает возможность загрузки новых версий компонентов из сервера 102 и обработку их в устройстве 106. Компоненты могут содержать обработчики компонента, которые обрабатывают выбранные типы компонента. Для обработки нового типа компонента в устройстве новый обработчик компонента вначале устанавливают в реестре операционной системы и после этого активируют для обработки нового компонента.

На фиг.2 показана функциональная схема устройства 200, которая включает один вариант выполнения системы для автоматической обработки компонентов в устройстве 200. Устройство содержит логическую схему 208 обработки, логическую схему 206 сравнения, функциональную логическую схему 214, логическую схему 224 обновления версии, сохраненный идентификатор 204 версии списка действий (ALVI, ИВСД) и идентификаторы 212 версии компонента (CVI, ИВК), установленные обработчики 230 компонента и установленные компоненты 226. Описанные логические схемы и функции, предусмотренные в устройстве 200, могут быть выполнены в виде аппаратных средств, программных средств или с использованием комбинации аппаратных средств и программных средств. Например, в одном или нескольких вариантах выполнения функциональные элементы, показанные на фиг.2, содержат ЦПУ, процессор, вентильную матрицу, логическую схему аппаратных средств, элементы запоминающих устройств, виртуальную машину, программное средство и/или любую комбинацию аппаратных и программных средств. Таким образом, логическая схема 208 обработки, в общем, содержит логическую схему, предназначенную для выполнения машинно-считываемых инструкций для выполнения описанных здесь функций. Следует отметить, что устройство 200 представляет только один вариант выполнения и что изменения, добавления или изменения компоновки элементов устройства могут быть выполнены без отхода от объема изобретения.

На фиг.3 показан один вариант выполнения способа 300 функционирования устройства, такого как устройство 200, для обеспечения возможности автоматической обработки системой компонентов в устройстве 200. Для ясности, способ 300 будет описан со ссылкой на устройство 200, показанное на фиг.2. Кроме того, предположим, что устройство 200 соединено с использованием надежного канала связи с сервером загрузки по информационной сети, как показано на фиг.1.

В блоке 302 устройство получает идентификатор версии списка действий из сервера загрузки. Например, устройство связывается с сервером загрузки через информационную сеть, и сервер загрузки передает идентификатор версии списка действий в устройство, как показано в 202.

В блоке 304 выполняется проверка для определения, отличается ли загруженный идентификатор версии списка действий от сохраненного идентификатора версии, который ассоциирован с последним списком действий, обрабатываемым в устройстве. Например, загруженный идентификатор версии 202 и сохраненный идентификатор 204 версии вводят в логическую схему 206 сравнения, которая сравнивает эти два идентификатора для определения их эквивалентности. Если оба идентификатора версии эквивалентны, процесс возвращается в блок 302 для получения новой версии списка действий в другое время. Если два идентификатора версии отличаются (Diff), процесс переходит в блок 306.

В блоке 306 устройство считывает список действий с сервера загрузки. Например, список 210 действий загружен с сервера в логическую схему 208 обработки через информационную сеть.

В блоке 308 устройство начинает обрабатывать список действий путем анализа первой пары компонент/действие в списке действий. Например, логическая схема 208 обработки выполняет обработку загруженного списка 210 действий для анализа пар компонент/действие.

В блоке 310 выполняют проверку для определения, какое действие требуется, если таковое требуется вообще, для пары компонент/действие, обрабатываемой в данный момент времени. В одном варианте выполнения устройство автоматически выполняет действие путем перехода в блок 312. Однако это может привести к повторной установке существующих компонентов в устройстве. В другом варианте выполнения версию компонента проверяют для определения, требуется ли выполнять действие. Например, если действие представляет собой “установить” компонент, проверяют версию компонента, чтобы убедиться, что компонент этой версии уже установлен в устройстве. Таким образом, способ работает для исключения повторной установки компонентов, которые уже установлены в устройстве. Например, логическая схема 208 обработки считывает сохраненный идентификатор 212 версии компонента и сравнивает его с версией компонента, идентифицированного в списке действий. В одном варианте выполнения версия компонента внедрена в идентификатор компонента, представленный в списке действий. Если две версии компонентов совпадают, в отношении этого компонента не требуется выполнять какое-либо дополнительное действие и процесс переходит в блок 416. Если две версии компонентов отличаются друг от друга, тогда логическая схема 208 обработки выполняет действие, ассоциированное с компонентом, и процесс переходит в блок 312.

В блоке 312 выполняют действие, ассоциированное с компонентом в текущей паре компонент/действие, для изменения состояния идентифицированного компонента. Например, логическая схема 208 обработки выполняет управление логической схемой 214 действия для выполнения действия по установке, обновлению, удалению, активации, отключению, повторному вызову или другому изменению состояния идентифицированного компонента. Например, программный вызов может быть выполнен, когда компонент удален из устройства, но ассоциированные с ним данные и/или информация о лицензировании не удалены. Например, если действие состоит в установке или обновлении компонента, логическая схема 208 обработки выполняет загрузку (или обновление) компонента 222 с сервера загрузки через информационную сеть. Загруженный компонент затем устанавливают как установленный компонент 226. Логическая схема 208 обработки может выполнять установку любого типа или обновлять процедуру для установки или обновления загруженного компонента 222 в виде установленного компонента 226. Если действие состоит в удалении компонента, логическая схема 208 обработки управляет логической схемой 220 удаления для удаления идентифицированного компонента из установленных компонентов 226. Хотя это не показано на фиг.2 и 3, в отношении компонента могут быть выполнены действия практически любого типа, такие как установка, обновление, удаление, повторный вызов, активация и деактивация и т.д.

В блоке 314 обновляют список версии компонента для отражения того, что новая версия компонента была установлена или обновлена или что компонент был удален. Например, логическая схема 208 обработки управляет логической схемой 224 обновления версии для обновления сохраненных идентификаторов 212 версии компонента с новой информацией об обрабатываемом в настоящее время компоненте.

В блоке 316 выполняют проверку для определения, все ли пары компонент/действие в списке действий были обработаны. Если все пары были обработаны, процесс переходит в блок 320. Если еще не все пары были обработаны, процесс переходит в блок 318, где обращается к следующей паре для обработки в блоке 310. Список 210 действий может иметь любую длину, и, таким образом, в нем может существовать любое количество пар компонент/действие для обработки.

В блоке 320 обновляется сохраненный идентификатор версии списка действий устройства. Например, логическая схема 208 обработки управляет логической схемой 224 версии обновления для обновления сохраненного идентификатора 204 версии списка действий с заменой его на идентификатор, ассоциированный с последним обработанным списком действий. Благодаря этому система не будет обрабатывать другой список действий до тех пор, пока не станет доступна новая версия списка действий.

В одном варианте выполнения система автоматической обработки компонентов устройства содержит программные инструкции, сохраненные на считаемом компьютером носителе информации, которые при выполнении с помощью логической схемы 208 обработки обеспечивают описанные здесь функции. Например, инструкции могут быть загружены в устройство 200 с носителя информации, считаемого компьютером, такого как гибкий диск, CD-ROM, карта памяти, устройство памяти типа флэш, ОЗУ, ПЗУ или устройство памяти любого другого типа или носителя информации считаемого компьютером, который может быть связан с устройством 200. В другом варианте выполнения инструкции могут быть загружены в устройство 200 из сетевого ресурса, который связывается с устройством 200 через информационную сеть. Инструкции, при выполнении с помощью логической схемы 208 обработки, обеспечивают один или несколько вариантов выполнения системы автоматической обработки компонентов в устройстве, как описано здесь.

Следует отметить, что способ 300 представляет всего лишь один вариант выполнения и что изменения, добавления или изменения компоновки элементов способа могут быть выполнены без отхода от объема изобретения.

На фиг.4 показан один вариант выполнения способа 400 функционирования устройства для обработки обработчиков компонентов, предназначенных для работы с определенными типами компонентов. Для ясности изложения способ 400 будет описан со ссылкой на устройство 200, показанное на фиг.2. Предполагается, что способ 300 используется для загрузки списка действий и обработки компонентов, как описано выше. Способ 400 дополнительно описывает работу системы по обработке компонентов, которые являются обработчиками компонентов, предназначенными для работы с определенными типами компонентов. В одном или нескольких вариантах выполнения выполняются следующие этапы способа с использованием логической схемой 208 обработки во время выполнения программных инструкций.

В блоке 402 система анализирует пару компонент/действие, полученную из загруженного списка действий. Например, список действий может быть получен, как описано со ссылкой на блок 306 по фиг.3.

В блоке 404 выполняют проверку для определения, требуется ли предпринимать действие в отношении пары компонент/действие. Например, версию компонента в паре компонент/действие сравнивают с сохраненной версией компонента, и если эти две версии отличаются друг от друга, тогда соответствующее действие предпринимают в отношении идентифицированного компонента.

В блоке 406 предполагается, что будет предпринято некоторое действие; выполняют проверку для определения, является ли идентифицированный компонент обработчиком компонента. Обработчик компонента представляет собой программу, предназначенную для работы с выбранным типом компонента. Если будет определено, что компонент является обработчиком компонента, способ переходит в блок 408.

В блоке 408 идентифицированный обработчик компонента загружают в устройство. Например, обработчик 228 компонента может быть загружен из сервера, такого как сервер 102.

В блоке 410 обработчик компонента устанавливают в устройстве. Например, обработчик компонента регистрируют в реестре операционной системы устройства как прикладную программу, которая работает с компонентами, имеющими определенный тип компонента. В одном варианте выполнения реестр операционной системы представляет собой часть логической схемы 208 обработки. После регистрации обработчик 228 компонента становится частью обработчиков 230 компонента, установленных в устройстве 200.

В блоке 412 идентификатор версии установленного обработчика компонента обновляют в сохраненном списке идентификаторов версии компонента, находящемся в устройстве. Например, логическая схема 224 обновления версии обновляет сохраненные идентификаторы 212 версии компонента, используя версию вновь установленного обработчика 228 компонента. Способ 400 затем переходит в блоки 402 для анализа следующей пары компонент/действие.

В следующем описании предполагается, что блоки 402 и 404 выполняют анализ следующей пары компонент/действие, которая идентифицирует компонент, обрабатываемый в устройстве.

В блоке 406 выполняют проверку для определения, является ли идентифицированный компонент обработчиком компонента. Если компонент не является обработчиком компонента, способ переходит в блок 414.

В блоке 414 компонент загружают в устройство. Например, логическая схема обработки 208 загружает компонент из сервера (в общем, представлен позицией 222).

В блоке 416 определяют тип формата компонента. Например, компонент может иметь выбранный тип MIME в другом формате, который указывает на формат информации в компоненте и/или как следует обрабатывать эту информацию.

В блоке 418 обработчик компонента, ассоциированный с типом компонента, активируют для обработки компонента. Например, используют реестр операционной системы для определения, какой обработчик компонента следует использовать для обработки выбранного типа компонента. Обработчик, идентифицированный в реестре, активируют для обработки компонента. Например, логическая схема 208 обработки активирует один из установленных обработчиков 230 компонента для обработки компонента.

В блоке 420 активированный обработчик компонента обрабатывает компонент. Например, обработчик компонента может устанавливать, удалять, обновлять, активировать, объединять данные или другим образом изменять состояние компонента в устройстве.

В блоке 422 идентификатор версии компонента, сохраненный в устройстве, обновляют с использованием новой версии компонента. Например, логическая схема 224 обновления версии обновляет идентификаторы 212 версии компонента, сохраненные в устройстве. Способ затем переходит к обработке следующей пары компонент/действие в блоке 402.

Таким образом, способ 400 обеспечивает загрузку и установку обработчика компонента, который впоследствии используют для обработки загруженного компонента. Обработчик предназначен для обработки компонента определенного типа, и при установке его регистрируют в реестре устройства. Когда в устройстве требуется обработать компонент, имеющий определенный тип, реестр используют для активации обработчика для выполнения требуемой обработки компонента. Затем в устройстве обновляют идентификатор версии компонента.

В другом варианте выполнения обработчик 228 компонента и ассоциированный компонент загружают в устройство 200, используя различные списки действий. Например, первый список действий используют для загрузки и установки обработчика компонента, и второй список действий используют для обработки компонента, при этом ранее установленный обработчик компонента обрабатывает данный компонент.

В другом варианте выполнения обработчик 228 компонента устанавливают в устройстве 200 с использованием любой другой методики установки. Например, обработчик компонента может быть установлен с использованием отдельной передачи из сервера загрузки, или обработчик компонента может быть установлен из локальной системы или устройства. Однако, как только обработчик компонента будет установлен, его регистрируют в реестре операционной системы и используют для обработки соответствующего компонента.

На фиг.5 показан один вариант выполнения способа 500 функционирования устройства для обработки обработчиков компонента, предназначенных для работы с определенными типами компонента. Для ясности изложения способ 500 будет описан со ссылкой на устройство 200, показанное на фиг.2. При этом предполагается, что способ 300 используют для загрузки списка действий и обработки компонентов, как описано выше. Способ 500, помимо этого, описывает работу системы по обработке обработчиков компонента, предназначенных для работы с определенными типами компонента. В одном или нескольких вариантах выполнения логическая схема 208 обработки при выполнении программных инструкций выполняет следующие этапы способа.

В блоке 502 список действий анализируют для получения пары компонент/действие, обрабатываемой в устройстве. В блоке 504 выполняют проверку для определения, требуется ли какое-либо действие в отношении идентифицированного компонента. Если действие требуется для изменения состояния идентифицированного компонента в устройстве, способ переходит в блок 506.

В блоке 506 определяют обработчик компонента, требуемый для обработки компонента. Например, в одном варианте выполнения идентификатор компонента в списке действий включает идентификатор “типа”, который идентифицирует тип компонента. Логическая схема 208 обработки использует идентификатор “типа” для определения обработчика компонента, который требуется для обработки компонента.

В блоке 508 выполняют проверку для определения, имеется ли в устройстве в настоящее время требуемый обработчик компонента. Например, логическая схема 208 обработки проверяет установленные обработчики 226 компонента для определения, установлен ли требуемый обработчик. Если требуемый обработчик установлен, способ переходит в блок 516. Если требуемый обработчик не установлен, способ переходит в блок 510.

В блоке 510 требуемый обработчик компонента загружают в устройство. Например, в одном варианте выполнения логическая схема 208 обработки загружает обработчик 228 компонента с сервера загрузки. Для загрузки обработчика компонента в устройство можно использовать любую методику.

В блоке 512 обработчик устанавливают в устройство. Например, обработчик регистрируют в реестре операционной системы для активации и обработки выбранных типов компонента. В блоке 514 обновляют сохраненную версию обработчика. Например, логическая схема 224 обновления версии обновляет сохраненные идентификаторы 212 версий компонента. Способ затем переходит в блок 516.

В блоке 516 идентифицированный компонент загружают в устройство. Например, логическая схема 208 обработки загружает идентифицированный компонент из сервера загрузки.

В блоке 518 вновь установленный обработчик активируют для обработки загруженного компонента. Например, логическая схема 208 обработки использует реестр для определения, какой из установленных обработчиков 230 компонента активировать для обработки компонента. В результате для обработки компонента будет активирован вновь установленный обработчик компонента.

В блоке 520 обработчик компонента обрабатывает компонент в устройстве для изменения состояния компонента в устройстве. Например, обработчик компонента может устанавливать, удалять, обновлять, активировать, объединять данные или другим образом изменять состояние компонента в устройстве.

В блоке 522 обновляют сохраненный идентификатор версии компонента. Например, логическая схема 224 обновления версии обновляет сохраненные идентификаторы 212 версии компонента. Способ затем переходит в блок 502 для анализа другой пары компонент/действие.

Таким образом, способ 500 определяет, доступен ли требуемый обработчик компонента для обработки компонента. Если обработчик компонента не установлен в устройстве, обработчик загружают из сервера загрузки, устанавливают и затем используют для обработки загруженного компонента. Обработчик предназначен для обработки определенного типа компонента, и во время установки он регистрируется в реестре устройства. Когда компонент, имеющий определенный тип, требуется обработать в устройстве, для активации необходимого обработчика используют реестр для выполнения требуемой обработки компонента. Затем обновляют идентификатор версии компонента устройства.

На фиг.6 представлены транзакции 600, которые осуществляются между сервером загрузки и устройством во время работы в соответствии с одним вариантом выполнения системы для автоматической обработки компонентов в устройстве. Например, транзакция 600 может осуществляться между устройством 106 и сервером 102, показанным на фиг.1.

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

Сервер 102 отвечает на запрос устройства 106, передавая идентификатор версии текущего списка действий, как показано на этапе 604. После приема идентификатора версии списка действий устройство сравнивает этот идентификатор с сохраненным идентификатором версии списка действий. Если два идентификатора версии эквивалентны, устройство не предпринимает никаких дальнейших действий. Если два идентификатора версии отличаются друг от друга, тогда устройство 106 запрашивает новый список действий из сервера 102, как показано на этапе 606.

Сервер 102 отвечает на запрос из устройства 106, передавая новый список действий, как показано на этапе 608. Устройство 106 обрабатывает каждую пару компонент/действие в списке действий для определения, следует или нет устанавливать, обновлять, удалять или по-другому изменять состояние конкретного компонента. Если устройство 106 определяет, что конкретный компонент необходимо обработать, устройство 106 запрашивает компонент (или обновление) из сервера 102, как показано на этапе 610.

Сервер 102 отвечает на запрос путем передачи запрашиваемого компонента в устройство 106. Устройство 106 принимает компонент и обрабатывает этот компонент в соответствии с необходимостью. Компонент может иметь идентификатор версии компонента, который устройство сохраняет локально. Этот идентификатор версии компонента обновляется после того, как устройство обрабатывает компонент. После того как устройство 106 проанализирует весь список действий и получит все необходимые компоненты из сервера 102, устройство 106 обновляет сохраненный локально идентификатор версии списка действий с использованием версии списка действий, который только что был обработан. Таким образом, устройство 106 не будет обрабатывать другой список действий из сервера 102 до тех пор, пока идентификатор версии списка действий, загруженный из сервера, не будет отличаться от сохраненного идентификатора.

На фиг.7 показан один вариант выполнения списка 700 действий, предназначенный для использования в системе автоматической обработки компонентов в устройстве. Список 700 действий содержит идентификатор 702 версии списка действий, после которого следуют пары (704, 706) компонент/действие. Например, пара 704 компонент/действие содержит идентификатор компонента и соответствующее действие. В одном варианте выполнения идентификатор компонента также включает идентификатор версии компонента и идентификатор “типа”. Идентификатор версии используют так, что версию компонента можно использовать для определения, имеется или в настоящее время компонент в устройстве. Идентификатор типа используют для обозначения типа компонента и для определения, какой обработчик требуется для обработки компонента. Действие может представлять собой одно из действий: установить, обновить, удалить или любой другой тип действия для изменения состояния компонента в устройстве. Информация в списке действий может быть закодирована с использованием любого соответствующего формата для обеспечения безопасной передачи и/или идентификации, и компонент и идентификаторы действия могут быть любого типа. В одном варианте выполнения пара 704 идентифицирует обработчик компонента, который должен быть установлен в устройстве, и пара 706 идентифицирует компонент, обрабатываемый обработчиком компонента.

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

Формула изобретения

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

2. Способ по п.1, в котором этап установки содержит этап, на котором регистрируют идентифицированный обработчик компонента в реестре операционной системы устройства.

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

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

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

6. Способ по п.1, в котором устройство представляет собой беспроводное устройство.

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

8. Аппарат по п.7, в котором логическая схема для установки содержит логическую схему для регистрации идентифицированного обработчика компонента в реестре операционной системы устройства.

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

10. Аппарат по п.7, в котором логическая схема для использования содержит логическую схему для установки компонента в устройстве с использованием обработчика компонента.

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

12. Аппарат по п.7, причем устройство представляет собой беспроводное устройство.

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

14. Аппарат по п.13, в котором средство для установки содержит средство для регистрации идентифицированного обработчика компонента в реестре операционной системы устройства.

15. Аппарат по п.13, в котором средство для использования содержит средство для использования идентифицированного обработчика компонента для изменения состояния компонента в устройстве.

16. Аппарат по п.13, в котором средство для использования содержит средство для установки компонента в устройстве с использованием обработчика компонента.

17. Аппарат по п.13, дополнительно содержащий средство для обновления сохраненного идентификатора версии компонента идентификатором версии, ассоциированным с компонентом.

18. Аппарат по п.13, причем устройство представляет собой беспроводное устройство.

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

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

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

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

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

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

РИСУНКИ

Categories: BD_2339000-2339999