ВЫПОЛНЕНИЕ ПРИЛОЖЕНИЯ С РАЗРЕШЕННЫМ ТЕСТИРОВАНИЕМ Российский патент 2007 года по МПК G06F9/445 

Описание патента на изобретение RU2308753C2

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

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

За последние годы наблюдается бурный рост беспроводной связи. Так как потребители и фирмы все больше полагаются на беспроводные устройства, такие как мобильные телефоны и персональные карманные компьютеры (PDA), провайдеры беспроводных услуг, то есть телекоммуникационные компании, соперничают друг с другом за предоставление дополнительных функциональных возможностей для этих беспроводных устройств. Эти дополнительные функциональные возможности не только повышают спрос на беспроводные устройства, но также увеличивают частоту их использования существующими пользователями. Однако расширение функциональных возможностей, особенно в результате увеличения числа приложений, доступных беспроводному устройству, приводит к возрастанию затрат и сложности, что мешает телекоммуникационным компаниям обеспечивать эти функциональные возможности.

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

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

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

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

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

Сущность изобретения

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

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

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

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

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

Краткое описание чертежей

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

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

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

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

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

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

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

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

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

фиг.9 - блок-схема, иллюстрирующая процесс приема разрешения на тестирование в приведенном в качестве примера варианте осуществления настоящего изобретения; и

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

Подробное описание предпочтительного варианта осуществления изобретения

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

Введение

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

Специалистам в данной области техники должно быть понятно, что в предшествующем материале для простоты описания распространяются и выполняются файлы типа приложений. Термин «приложение» может также включать в себя файлы, имеющие исполнимое содержимое, такие как: объектный код, сценарии (скрипты), файл Java, файл закладок (или PQA файлы), WML сценарии (скрипты), байтовый код и PERL сценарии. Кроме того, используемый здесь термин «приложение» может также включать в себя файлы, которые на самом деле не являются исполнимыми, такие как документы, которые возможно потребуется открывать, либо другие файлы данных, к которым необходим доступ.

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

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

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

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

Перед выполнением приложения осуществляется его проверка, чтобы определить, «разрешается» ли его выполнение в данном устройстве (этап 110). Эта проверка может быть выполнена путем использования разрешений и правил, описанных ниже, либо с помощью других механизмов разрешения, известных специалистам в данной области техники. Кроме того, предпочтительно, чтобы проверка приложения выполнялась перед каждой попыткой его выполнения. Такой перманентный процесс проверки повышает надежность (безопасность) выполнения приложения. Например, этим обеспечивается защита от приложения, зараженного вирусом Trojan horse, который мог проникнуть в это приложение в исполняющем устройстве через другое приложение.

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

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

Обычно разработчик 200 имеет набор спецификаций для разработки приложения, выполняемого в беспроводном устройстве 230. В одном варианте беспроводное устройство включает в себя программную платформу (платформу программного обеспечения), облегчающую взаимодействие приложения с беспроводным устройством, такую как программный продукт BREWTM, разработанный QUALCOMM, Incorporated, со штаб-квартирой в Сан-Диего, Калифорния. Разработчик может создать приложение, удовлетворяющее требованиям программной платформы, или программным средствам BREWTM, определенным стандартам и соглашениям.

Разработчик 200 в одном варианте связан с центральным сервером 205, так что он может передать приложение на центральный сервер 205 электронным путем. В одном варианте центральным сервером является сервер Центрального управления приложениями (ACCHQ), используемый при распространении приложений в беспроводные устройства. Разработчик 200 может снабдить приложение цифровой подписью (дополнительно обсуждается ниже), наличие которой позволяет определить, было ли модифицировано данное приложение. Очевидно, что в физическом соединении с центральным сервером нет необходимости. Разработчик 200 может, например, послать на центральный сервер 205 приложение, записанное на компакт-диске, к примеру, почтовым отправлением первого класса.

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

Центральный сервер 205 либо сам, либо вместе с сервером 210 сертификации используется при анализе и сертификации приложений. В одном варианте сервер сертификации представляет собой центр управления приложениями (АСС). В одном варианте сервер 210 сертификации анализирует приложение, чтобы определить, удовлетворяет ли приложение заданным критериям сертификации, которые может использовать разработчик в качестве руководящих указаний при разработке приложения. Критерии сертификации могут представлять собой любые критерии, которым должно удовлетворять приложение перед его выполнением в беспроводном устройстве. Указанные критерии могут включать проверку того: (а) что приложение функционирует, как это заявлено разработчиком, а значит, что оно не оказывает отрицательного воздействия на работу беспроводного устройства (например, оно не выводит из строя телефон); (b) что приложение не осуществляет доступ к тем данным или областям памяти, к которым доступ не положен (например, приложение не осуществляет доступ к данным или файлам, принадлежащим другим приложениям, операционной системе или программным средствам платформы); и (с) что приложение не оказывает неблагоприятного воздействия на ресурсы беспроводных устройств, к примеру, не монополизирует вход и выход данного беспроводного устройства в ущерб другим устройствам.

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

Центральный сервер 205 принимает информацию, идентифицирующую разработчика, и сопоставляет ее с приложением, созданным разработчиком 200. Если с приложением возникнут какие-либо проблемы, то центральный сервер сможет идентифицировать источник приложения. В одном варианте информация о разработчике поступает в беспроводное устройство 230, так что упомянутое сопоставление может выполнить само беспроводное устройство или другие системы, подсоединенные к этому беспроводному устройству.

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

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

В ответ на запрос приложения сервер ADS 215 через сеть 220 высылает в беспроводное устройство 230 приложение, список разрешений, идентификационные данные разработчика и цифровую подпись (подписи). В одном варианте беспроводное устройство 230 содержит ключ для проверки цифровой подписи, чтобы определить, было ли модифицировано приложение; список разрешений; и/или информацию о разработчике.

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

Беспроводное устройство может инициировать удаление приложения в случае, если приложение вызвало появление каких-либо ошибок в беспроводном устройстве, либо удалять приложение по какой-либо другой требуемой причине. Кроме того, приложение может быть удалено из беспроводного устройства на основе запроса от ADS или центрального сервера. Такой процесс удаления приложения обеспечивает дополнительную защиту среды беспроводного устройства от повторного выполнения поврежденных приложений и/или приложений, наносящих ущерб окружающей данное устройство среде.

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

В одном варианте база данных 304 центрального сервера состоит из записи с идентификационными данными для каждой прикладной программы, загруженной в любой момент времени в каждое беспроводное устройство 330 в сети 300, электронным служебным номером («ESN») для лица, которое загрузило прикладную программу, и мобильным идентификационным номером (MIN), являющимся уникальным для беспроводного устройства 330, несущего данную прикладную программу. В альтернативном варианте база данных 304 центрального сервера содержит записи для каждого беспроводного устройства 330 в сети 300 модели беспроводных устройств, для телекоммуникационной компании, владеющей беспроводной сетью, для региона, в котором используется беспроводное устройство 330, а также любую другую информацию, которую можно использовать для определения того, какие прикладные программы несет в себе то или иное беспроводное устройство 330. Кроме того, в базе данных центрального сервера также может храниться информация, связанная с приложением, которая идентифицирует разработчика.

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

Центральный сервер 302 осуществляет связь с одним или несколькими компьютерными серверами 306, например ADS, через сеть 308, такую как сеть Интернет (предпочтительно защищенную). Серверы 306 через сеть 308 также имеют связь с сетью 310 телекоммуникационной компании. Сеть 310 телекоммуникационной компании осуществляет связь с центром коммутации мобильной связи (ЦКМ, MSC) 312 как через сеть Интернет, так и обычную систему телефонной связи (POTS) (показаны на фиг.3 под обобщенной ссылкой 311). По соединению 311 через Интернет между сетью 310 телекоммуникационной компании и ЦКМ 312 пересылаются данные, а POTS 311 пересылает речевую информацию. В свою очередь, ЦКМ 312 подсоединен к множеству базовых станций (БПС, BTS) 314. ЦКМ 312 подсоединен к БПС как через Интернет 311 (для пересылки данных), так и через POTS 311 (для речевой информации). БПС 314 посылает сообщение беспроводным путем в беспроводные устройства 330, используя услугу передачи коротких сообщений (SMS) либо любой другой способ эфирной передачи.

Одним из примеров сообщения, посылаемого базовой станцией БПС 314 в настоящем изобретении, является команда 316 удаления. Как обсуждается ниже, беспроводное устройство 330 в ответ на прием команды 316 удаления реагирует, деинсталлируя намеченную прикладную программу 109, хранящуюся в беспроводном устройстве 330. Команда 316 удаления формируется источником 322 команд удаления (который может быть либо нет тем же самым человеком (людьми) или объектом (объектами), который принял решение инициировать удаление намеченной прикладной программы 109). Команда 316 удаления посылается источником 322 команд удаления через сеть 300 для трансляции в беспроводные устройства 330.

Другим примером сообщения, транслируемого базовой станцией БПС 314, является сообщение 318 об удалении. Как обсуждается ниже, сообщение 316 об удалении - это сообщение, которое транслируется в беспроводное устройство 330, несущее намеченную прикладную программу, и является командой на деинсталляцию намеченной прикладной программы. В ответ на сообщение 316 об удалении беспроводное устройство 330 автоматически устанавливает связь с источником 320 сообщений об удалении. Источник 320 сообщений об удалении посылает в беспроводное устройство 330 информацию с идентификационными данными намеченной прикладной программы. В ответ на прием этой информации беспроводное устройство 330 деинсталлирует намеченную прикладную программу.

Источником 320 сообщения об удалении может быть тем же объектом, что и центральный сервер 302. В альтернативном варианте, и не как ограничение, источником 320 сообщения об удалении может быть один или несколько человек или объектов, имеющих отношение к разработке и выпуску намеченной прикладной программы 109, люди или объекты, имеющие отношение к изготовителю беспроводного устройства 330, и/или люди или объекты, имеющие отношение к функционированию любой части сети 300.

Аналогичным образом вышеуказанную сеть можно использовать для посылки приложения, списка разрешений и соответствующих цифровых подписей от центрального сервера на различные серверы 306 (например, ADS') через ЦКМ и БПС на беспроводные устройства 330.

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

На фиг.4 показано беспроводное устройство и некоторые внутренние компоненты в приведенном в качестве примера варианте осуществления настоящего изобретения. Хотя этот вариант подразумевает применение беспроводного устройства 400, его используют здесь в качестве примера, а не как какое-либо преднамеренное ограничение. В альтернативном варианте изобретение может быть выполнено в виде любого удаленного модуля, способного осуществлять связь через сеть, в том числе, но не как ограничение, в виде беспроводных и не беспроводных устройств, таких как персональные карманные компьютеры (PDA), беспроводные модемы, карты PCMCIA (Международная организация производителей карт памяти для персональных компьютеров), терминалы доступа, персональные компьютеры, устройства без дисплея или клавиатуры, либо любая их комбинация или субкомбинация. Эти примеры удаленных модулей могут также содержать пользовательский интерфейс, такой как клавиатура, визуальное устройство отображения или звуковое устройство отображения.

Беспроводное устройство 400, показанное на фиг.4, имеет специализированную интегральную схему (ASIC) 415, установленную во время изготовления беспроводного устройства 400. Схема ASIC представляет собой компонент аппаратного обеспечения, который приводится в действие программными средствами, включенными в состав ASIC. В беспроводном устройстве 400 во время его изготовления также устанавливают интерфейс прикладного программирования (API) 410. В одном варианте интерфейс API представляет собой платформу BREW API или программную платформу. API 410 является программным продуктом, сконфигурированным с возможностью взаимодействия со схемой ASIC. API 410 выступает в качестве интерфейса между аппаратными средствами ASIC 415 и прикладными программами (обсуждаемыми ниже), инсталлированными в беспроводном устройстве 400. В альтернативном варианте беспроводное устройство 400 может содержать схемы любого другого вида, обеспечивающие совместимость программ с аппаратной конфигурацией беспроводного устройства 400. Беспроводное устройство 400 также имеет запоминающее устройство 405. Запоминающее устройство 405 состоит из ОЗУ (RAM) и ПЗУ (ROM), но в альтернативном варианте может представлять собой память любого вида, такую как СППЗУ, ЭСППЗУ или вставки плат флэш-памяти.

Область 405 памяти беспроводного устройства можно использовать для хранения принятых приложений и списков разрешений (425). Кроме того, область 405 памяти можно использовать для хранения одного или нескольких «ключей» 405. Эти ключи можно использовать для цифровой подписи, применяя алгоритм подписи для определения того, была ли модифицирована подписанная информация.

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

Изготовитель (не показан) беспроводного устройства 400 загружает прикладные программы в память 405 беспроводного устройства 400 во время изготовления беспроводного устройства 400. Эти прикладные программы могут представлять собой любую программу, потенциально полезную или привлекающую внимание пользователя беспроводного устройства, такие как игры, книги или данные или программные продукты любого другого типа. Прикладные программы также могут загружаться в беспроводное устройство 400 по радиоканалу после изготовления беспроводного устройства.

Во время изготовления беспроводного устройства 400 изготовитель может также загрузить программу удаления (не показана) в память 405 беспроводного устройства 400. Программа удаления также может быть инсталлирована по радиоканалу после изготовления беспроводного устройства 400.

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

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

Беспроводное устройство 400 имеет локальную базу данных 420, установленную производителем. Интерфейс API беспроводного устройства запрограммирован на автоматическое обновление локальной базы данных 420 с помощью записи идентифицирующей информации о каждой из прикладных программ, хранящихся в беспроводном устройстве 400. Локальная база данных 420 содержит запись идентификационных данных подписей, уникальных для каждой прикладной программы, хранящейся в беспроводном устройстве 402. Кроме того, локальная база данных 420 может содержать запись о местоположении прикладных программ в памяти 405 беспроводного устройства 400 и любую другую информацию, полезную для слежения за тем, какие прикладные программы загружены в беспроводное устройство 400, и где они находятся.

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

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

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

В одном варианте осуществления настоящего изобретения цифровая подпись 515 формируется путем использования в качестве входных данных для алгоритма 530 цифровой подписи следующего: ключа 525 подписавшей стороны, например, ключа центрального сервера на фиг. 2; приложения 500; списка 505 разрешений; и информации 510, идентифицирующей разработчика. В результате получают цифровую подпись 515, которая зависит от информации, содержавшейся во входных данных.

После создания цифровой подписи 515 приложение 500, список 505 разрешений, информацию 510, идентифицирующую разработчика, и цифровую подпись 515 передают в беспроводное устройство 520. Затем беспроводное устройство может использовать цифровую подпись, чтобы определить, было ли модифицировано какое-либо приложение или относящаяся к нему информация (например, список разрешений и информация, идентифицирующая разработчика). Кроме того, используя одну из описанных выше технологий, такой как ключ защиты, беспроводное устройство может также убедиться в идентификации подписавшей стороны, которая передала эту информацию в беспроводное устройство.

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

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

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

Затем принятое приложение сертифицируют, чтобы определить, удовлетворяет ли оно заданным критериям (этап 615). В одном варианте приложение может быть записано для выполнения на специальной платформе, используемой в беспроводных устройствах, такой как платформа BREWTM, разработанная QUALCOMM, Incorporated, со штаб-квартирой в Сан-Диего, Калифорния. Специальная платформа или устройство может предъявлять специальные требования, которым должно удовлетворять приложение, прежде чем оно будет выполняться в устройстве. Например, платформа или устройство может потребовать, чтобы приложение не обращалось к определенным ячейкам памяти в устройстве, с тем чтобы не нарушить целостность устройства либо других приложений, находящихся в его памяти. Эти критерии могут быть заданы, а приложение можно подвергнуть тестированию, чтобы определить, удовлетворяются ли указанные критерии.

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

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

Затем в беспроводное устройство передается приложение, список разрешений, идентификационные данные разработчика и подпись, созданная на этапе 625. (этап 630).

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

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

Затем беспроводное устройство принимает запрос на выполнение приложения (этап 710). Этот запрос может прийти от пользователя беспроводного устройства, желающего выполнить программу. В альтернативном варианте запрос может быть сделан самими беспроводным устройством, либо прийти от некоторого запроса, переданного в беспроводное устройство либо через сеть, либо через прямое соединение с беспроводным устройством.

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

Если оценка на этапе 720 указывает на то, что после подписи приложение, список разрешений либо идентификационные данные разработчика были модифицированы, или что приложению отказано в выполнении в беспроводном устройстве, то тогда это приложение не выполняется (этап 725). Процесс переходит к удалению приложения из беспроводного устройства (этап 750). Также предпочтительно, чтобы из беспроводного устройства были удалены список разрешений и идентификационные данные разработчика.

Далее выполняется этап 730, на котором контролируется выполнение приложения, чтобы определить, выполняет ли оно запрещенную или неподходящую операцию (этап 735). Беспроводное устройство или платформа, которую использует беспроводное устройство, может определить, что некоторые операции являются запрещенными или неподходящими. Такие операции могут включать в себя операции обращения к ограниченным областям памяти или ячейкам памяти, используемым другими программами или файлами. Кроме того, эти операции могут включать в себя непредусмотренное использование ресурсов беспроводного устройства, что может оказать отрицательное воздействие не только на данное беспроводное устройство, но и на другие устройства в сети, с которой связано данное устройство.

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

Если на этапе 735 запрещенная или нежелательная операция не выполняется, то тогда выдается разрешение на продолжение выполнения данного приложения (этап 740).

Разрешение на тестирование

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

Функция управляющей программы может быть включена в состав операционной системы, интегрального логического блока либо может представлять собой отдельную программу, такую как программный продукт BREWTM API, разработанный QUALCOMM.

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

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

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

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

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

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

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

В одном варианте функция управления использует электронный серийный номер устройства (ЭСН,ESN) для отслеживания разрешения на тестирование. ЭСН является уникальным кодом для всех устройств. Однако можно использовать и другие уникальные коды.

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

В альтернативном варианте резработчик может использовать персональный компьютер (ПК, PC) 825 для доступа к серверу 800 через сеть 810. Сеть 810 может быть аналогична сети, описанной в связи с фиг.3, и представлять собой чисто наземную сеть, такую как Интернет, или комбинацию из этих сетей.

В одном варианте разработчик регистрируется на Web-узле сервера 800 через ПК 825. Разработчик запрашивает разрешение на тестирование. В этом варианте разработчик вводит ЭСН устройства, для которого он или она хотят получить разрешение на тестирование.

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

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

Очевидно, что можно предложить множество механизмов для распространения подписи на намеченное устройство, принимающее разрешение на тестирование, в том числе получение его на компакт-диске (CD-ROM) с последующей загрузкой в намеченное устройство 815 или 820. Между намеченным устройством, принимающим разрешение на тестирование, и сервером 800, распространяющим разрешение на тестирование, может не быть взаимодействия.

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

На фиг.9 представлена блок-схема, иллюстрирующая процесс приема разрешения на тестирование в приведенном в качестве примера варианте осуществления настоящего изобретения. Разработчик регистрируется на сервере, на который может распространяться разрешение на тестирование (этап 900). Разработчик вводит информацию о профиле (этап 905). Она может включать в себя: тип разработчика; данные, идентифицирующие разработчика; типы приложений, которые намерен разработать разработчик; сети (то есть, телекоммуникационные компании), в которых разработчик намерен реализовать приложение; и ЭСН, связанные с разработчиком. Для дополнительного отслеживания разрешений на тестирование и разработчиков, может быть введена и другая информация.

Разработчик размещает запрос на разрешение на тестирование (этап 910). В одном варианте разработчик вводит уникальный код беспроводного устройства, которое он или она хотят использовать в качестве тестирующего устройства, к примеру, ЭСН беспроводного устройства.

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

Если определяется, что разработчику положено разрешение на тестирование, то тогда сервер посылает разработчику разрешение на тестирование, связанное с ЭСН, введенным разработчиком (этап 915). Это разрешение на тестирование связано с ЭСН и, следовательно, позволит выполнять в беспроводном устройстве, связанном с данным ЭСН, только те приложения, на которые распространяется разрешение на тестирование. Если то же самое разрешение попало в другое беспроводное устройство, имеющее, следовательно, другой ЭСН, это разрешение на тестирование не позволит выполнять приложение, поскольку не будет удовлетворено правило, разрешающее тестирование. (Очевидно, что могут быть выданы другие разрешения, удовлетворяющие другим правилам, которые позволят выполнить приложение).

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

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

Если разработчик обращается к серверу через ПК, то тогда тот сможет переслать затем разрешение на тестирование в беспроводное устройство, имеющее ЭСН (этап 920), ранее предоставленный серверу.

Серверная функция управления обеспечивает отслеживание информации в этой процедуре, в том числе данные о том: какому ЭСН было предоставлено разрешение на тестирование; какому разработчику он был присвоен; и дату окончания срока действия разрешения, если она существует, для предоставленного разрешения на тестирование.

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

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

Процесс начинается с приема правил и разрешений в телефонной трубке (этап 1000). Оценка разрешения на тестирование выполняется в свете правил, содержащихся в беспроводном устройстве. (Эти правила также могут быть снабжены цифровой подписью, либо может быть использован какой-либо другой способ обнаружения модификаций, чтобы определить, были ли эти правила модифицированы. Управляющую программу можно использовать для облегчения указанного процесса выявления модификаций.) Ниже приведен пример правил, связанных с разрешениями на тестирование, сертификацией и телекоммуникационной компанией:

Если (разрешение==разрешение на тестирование и ЭСН совпадают и дата действительна), то

выполнение приложения;

в противном случае (если разрешение==прошло сертификацию), то

выполнение приложения;

в противном случае (если разрешение = телекоммуникационная компания и идентификатор телекоммуникационной компании совпадают), то

выполнение приложения;

в противном случае

отказ.

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

Возвратимся к фиг.10, на которой процесс переходит к запросу на выполнение приложения (этап 1010). Выполняется оценка правил и разрешений в беспроводном устройстве для определения, разрешено ли тестировать данное приложение (этап 1015). Если ЭСН в разрешении совпадает с ЭСН телефона и разрешение на тестирование не просрочено (этап 1020), то тогда приложение допускается к выполнению (этап 1030).

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

После этапа 130 процесс может возвратиться назад для приема запроса на выполнение другого приложения. Заметим, что в этом варианте может выполняться и другое приложение с использованием тех же самых разрешений на тестирование, причем разрешение на тестирование допускает выполнение приложения не на основе выполнения приложения, а исходя из того, является ли данное устройство устройством с разрешением на тестирование (совпадение ЭСН) и не просрочено ли время действия разрешения. Следовательно, в устройстве можно тестировать несколько приложений путем приема от сервера одного разрешения на тестирование.

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

Заключение

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

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

Похожие патенты RU2308753C2

название год авторы номер документа
БЕЗОПАСНОЕ РАСПРЕДЕЛЕНИЕ И ВЫПОЛНЕНИЕ ПРИЛОЖЕНИЙ В БЕСПРОВОДНОЙ СРЕДЕ 2002
  • Ландблэйд Лоренс
  • Филлипс Марк С.
  • Майнир Брайан
  • Зуанг Ян
  • Кришнан Ананд
  • Спригг Стефен А.
  • Чмайтелли Мазен
  • Оливер Митчелл
  • Орель Джеральд
  • Кросслэнд Карен
RU2295753C2
ТЕЛЕКОММУНИКАЦИОННАЯ ЧИП-КАРТА 2013
  • Шрия Санджив
  • Фогат Викас
RU2628492C2
ПРИВИЛЕГИЯ ДОСТУПА НА УРОВНЕ ПРИЛОЖЕНИЙ К ОБЛАСТИ ПАМЯТИ КОМПЬЮТЕРНОГО УСТРОЙСТВА 2002
  • Спригг Стефен А.
  • Ландблэйд Лоренс
RU2307388C2
ИСПОЛЬЗОВАНИЕ ПОЛНОМОЧИЙ ДЛЯ РАСПРЕДЕЛЕНИЯ РЕСУРСОВ УСТРОЙСТВА К ПРИЛОЖЕНИЮ 2002
  • Спригг Стефен А.
  • Ландблэйд Лоренс
RU2307390C2
ПУБЛИКАЦИЯ ЦИФРОВОГО СОДЕРЖАНИЯ В ОПРЕДЕЛЕННОМ ПРОСТРАНСТВЕ, ТАКОМ, КАК ОРГАНИЗАЦИЯ, В СООТВЕТСТВИИ С СИСТЕМОЙ ЦИФРОВОГО УПРАВЛЕНИЯ ПРАВАМИ (ЦУП) 2004
  • Нарин Аттила
  • Венкатеш Чандрамоули
  • Бирум Фрэнк Д.
  • Демелло Марко А.
  • Ваксман Питер Дэвид
  • Малик Прашант
  • Малавиараччи Рушми У.
  • Борн Стив
  • Кришнасвами Винай
  • Розенфельд Евгений Юджин
RU2344469C2
СИСТЕМА И СПОСОБ ДЛЯ СИНХРОНИЗАЦИИ ВЗАИМОДЕЙСТВИЙ МЕЖДУ НЕСКОЛЬКИМИ ПРОГРАММНЫМИ КЛИЕНТАМИ ВО ВСТРЕЧЕ С НОТАРИУСОМ 2018
  • Дженкинс, Александр Джеймс
  • Кинсел, Патрик А.
  • Пейз, Адам
RU2772345C2
РЕГИСТРАЦИЯ/СУБРЕГИСТРАЦИЯ СЕРВЕРА УПРАВЛЕНИЯ ЦИФРОВЫМИ ПРАВАМИ (УЦП) В АРХИТЕКТУРЕ УЦП 2004
  • Костал Грегори
  • Борн Стив
  • Кришнасвами Винай
RU2348073C2
АУТЕНТИФИКАЦИЯ ПРОЦЕССОВ И РАЗРЕШЕНИЯ НА РЕСУРСЫ 2013
  • Агарвал, Вишал
  • Готтумуккала, Сунил П.
  • Кишан, Арун У.
  • Макферсон, Дэйв М.
  • Эндс, Джонатан М.
  • Сридхаран, Гиридхаран
  • Кинсхуманн, Кинсхуман
  • Дамиано, Адам
  • Кхан, Салахуддин Дж.
  • Каннан, Гопинатхан
RU2637878C2
ПУБЛИКАЦИЯ ЦИФРОВОГО СОДЕРЖАНИЯ В ОПРЕДЕЛЕННОМ ПРОСТРАНСТВЕ, ТАКОМ КАК ОРГАНИЗАЦИЯ, В СООТВЕТСТВИИ С СИСТЕМОЙ ЦИФРОВОГО УПРАВЛЕНИЯ ПРАВАМИ (ЦУП) 2004
  • Нарин Аттила
  • Венкатеш Чандрамоули
  • Бирум Фрэнк Д.
  • Демелло Марко А.
  • Ваксман Питер Дэвид
  • Малик Прашант
  • Малавиараччи Рушми У.
  • Борн Стив
  • Кришнасвами Винай
  • Розенфельд Евгений Юджин
RU2332704C2
УСТРОЙСТВО ОБРАБОТКИ ИНФОРМАЦИИ, ДИСК, СПОСОБ ОБРАБОТКИ ИНФОРМАЦИИ И ПРОГРАММА 2009
  • Уеда Кендзиро
  • Оиси Татео
  • Мурамацу Кацуми
  • Като Мотоки
  • Кобаяси
RU2479021C2

Иллюстрации к изобретению RU 2 308 753 C2

Реферат патента 2007 года ВЫПОЛНЕНИЕ ПРИЛОЖЕНИЯ С РАЗРЕШЕННЫМ ТЕСТИРОВАНИЕМ

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

Формула изобретения RU 2 308 753 C2

1. Способ выполнения приложения в беспроводном устройстве, заключающийся в том, что принимают разрешение на выполнение приложения в определенном устройстве в определенной сети, связанное с беспроводным устройством, делают запрос на выполнение приложения в беспроводном устройстве, оценивают разрешение, связанное с беспроводным устройством, с использованием данных, хранящихся в памяти беспроводного устройства и содержащих правило, которое определяет, может ли принятое приложение быть выполнено в данном беспроводном устройстве, и выполняют приложение в случае, если оценка разрешения и упомянутое правило указывают на то, что выполнение приложения разрешено.2. Способ по п.1, отличающийся тем, что дополнительно делают запрос на выполнение второго приложения в беспроводном устройстве, и выполняют второе приложение в случае, если вторая оценка разрешения и правило, указывают на то, что выполнение второго приложения разрешено.3. Способ по п.1, отличающийся тем, что дополнительно принимают код идентификатора разработчика, при этом оценка разрешения включает в себя использование кода идентификатора разработчика.4. Способ доступа к приложениям в беспроводном устройстве, заключающийся в том, что делают запрос независимого от разработчика разрешения на приложение для выполнения приложения в определенном устройстве в определенной сети, принимают независимое от разработчика разрешение на приложение, инициируют доступ к приложению в беспроводном устройстве, оценивают независимое от разработчика разрешение на приложение в беспроводном устройстве и осуществляют доступ к приложению в случае, если оценка независимого от разработчика разрешения на приложение указывает на то, что доступ к нему разрешен.5. Способ по п.4, отличающийся тем, что дополнительно отказывают в доступе к приложению в случае, если оценка независимого от разработчика разрешения на приложение указывает на то, что доступ к нему не разрешен.6. Способ по п.4, отличающийся тем, что при доступе к приложению осуществляют попытку выполнения приложения.7. Способ по п.4, отличающийся тем, что при оценке приложения используют идентификатор разработчика, связанный с беспроводным устройством.8. Способ по п.4, отличающийся тем, что при оценке независимого от разработчика разрешения на приложение используют способ обнаружения модификации.9. Способ по п.4 отличающийся тем, что независимое от разработчика разрешение на приложение представляет собой разрешение на тестирование.10. Беспроводное устройство, содержащее независимое от разработчика разрешение на приложение для выполнения приложения в определенном устройстве в определенной сети, запоминающее устройство для хранения независимого от разработчика разрешения на приложение и уникального идентификатора, связанного с беспроводным устройством, и управляющую программу, сконфигурированную с возможностью определения доступа к приложению путем оценки независимого от разработчика разрешения на приложение и уникального идентификатора.11. Беспроводное устройство по п.10, отличающееся тем, что независимое от разработчика разрешение на приложение представляет собой разрешение на тестирование.12. Беспроводное устройство по п.10, отличающееся тем, что управляющая программа дополнительно сконфигурирована с возможностью доступа ко второму приложению путем оценки независимого от разработчика разрешения на приложение и уникального идентификатора.13. Беспроводное устройство по п.10, отличающееся тем, что уникальным идентификатором является электронный серийный номер (ЭСН).14. Способ управления независимыми разрешениями на приложения, заключающийся в том, что запоминают информацию о профиле, относящуюся к беспроводному устройству, принимают с помощью центрального сервера системы распространения приложений запрос независимого от разработчика разрешения на приложение для выполнения приложения в определенном устройстве в определенной сети, выдают независимое от разработчика разрешение на приложение для беспроводного устройства, и передают независимое от разработчика разрешения на приложение в беспроводное устройство, и при этом приложение тестируют, гарантируя, что оно удовлетворяет требованиям для среды, в которой оно будет выполняться, причем разрешения выдают для указания, какие устройства или системы могут выполнять данное приложение, и удаляют приложение, если приложение выполняет недопустимые или нежелательные действия.15. Способ по п.14, отличающийся тем, что выдача независимого от разработчика разрешения на приложение включает в себя связывание независимого от разработчика разрешения на приложение с уникальным идентификатором, связанным с беспроводным устройством, а передача независимого от разработчика разрешения на приложение включает в себя передачу уникального идентификатора.16. Способ по п.14, отличающийся тем, что независимое от разработчика разрешение на приложение выдают на основе информации о профиле.17. Система для доступа к приложениям в беспроводном устройстве, содержащая средство для запроса независимого от разработчика разрешения на приложение для выполнения приложения в определенном устройстве в определенной сети, средство для приема независимого от разработчика разрешения на приложение для выполнения приложения в определенном устройстве в определенной сети, средство для инициирования доступа к приложению в беспроводном устройстве, средство для оценки независимого от разработчика разрешения на приложение в беспроводном устройстве и средство для доступа к приложению в случае, если оценка независимого от разработчика разрешения на приложение указывает на то, что доступ разрешен.18. Считываемый компьютером носитель информации, содержащий выполняемые компьютером команды для доступа к приложению в беспроводном устройстве, которые при их выполнении реализуют способ, содержащий запрос независимого от разработчика разрешения на приложение для выполнения приложения в определенном устройстве в определенной сети, прием независимого от разработчика разрешения на приложение для выполнения приложения в определенном устройстве в определенной сети, инициирование доступа к приложению в беспроводном устройстве, оценку независимого от разработчика разрешения на приложение в беспроводном устройстве и доступ к приложению в случае, если оценка независимого от разработчика разрешения на приложение указывает на то, что доступ разрешен.

Документы, цитированные в отчете о поиске Патент 2007 года RU2308753C2

US 5987306 А, 16.11.1999
RU 99121865 А, 07.08.2001
Способ изготовления пластических масс 1936
  • Барский Э.М.
SU50978A1
US 6167522 А, 26.12.2000.

RU 2 308 753 C2

Авторы

Чмайтелли Мазен

Майнир Брайан

Оливер Митчелл Б.

Ландблэйд Лоренс

Даты

2007-10-20Публикация

2002-08-15Подача