Устройство передачи данных для эмуляции поведения навигационного устройства



Устройство передачи данных для эмуляции поведения навигационного устройства
Устройство передачи данных для эмуляции поведения навигационного устройства
Устройство передачи данных для эмуляции поведения навигационного устройства
Устройство передачи данных для эмуляции поведения навигационного устройства
Устройство передачи данных для эмуляции поведения навигационного устройства
Устройство передачи данных для эмуляции поведения навигационного устройства
Устройство передачи данных для эмуляции поведения навигационного устройства
Устройство передачи данных для эмуляции поведения навигационного устройства
Устройство передачи данных для эмуляции поведения навигационного устройства

 


Владельцы патента RU 2435202:

ТОМТОМ ИНТЕРНЭШНЛ Б.В. (NL)

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

 

Настоящее изобретение относится к информационным технологиям, в частности к области мобильной навигации.

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

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

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

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

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

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

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

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

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

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

В соответствии с дополнительным вариантом воплощения процессор может управлять навигационным устройством на основе эмуляции поведения навигационного устройства.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В соответствии с дополнительным вариантом воплощения способ содержит: принимают запрос на определенную информацию с помощью объекта сети.

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

В соответствии с дополнительным вариантом воплощения способ содержит: сохраняют запрос в дополнительном объекте сети.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В соответствии с дополнительным вариантом воплощения способ содержит: генерируют криптографическую подпись названия команды на основе асимметричного криптографического алгоритма, в частности алгоритма RSA (Rivest-Shamir-Adleman, РША (Райвеста-Шамира-Адлемана)) или на основе алгоритма цифровой подписи.

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

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

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

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

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

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

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

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

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

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

на фиг.2 показана блок-схема устройства обработки;

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

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

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

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

на фиг.7 показана блок-схема сценария передачи данных.

На фиг.1 показана блок-схема устройства передачи данных, содержащего скомпонованное с программным управлением первое средство 101, скомпонованное с программным управлением второе средство 103, соединенное со скомпонованным программным управлением первым средством 101, и скомпонованное с программным управлением третье средство 105, соединенное со скомпонованным с программным управлением первым средством 105.

Скомпонованное с программным управлением первое средство 101 запрашивает скомпонованное с программным управлением второе средство для передачи определенной команды по несуществующему сетевому адресу, то есть по несуществующему адресу HTTP (ППГТ, протокол передачи гипертекста). В ответ на это скомпонованное с программным управлением второе средство 103 информирует скомпонованное с программным управлением третье средство 105 о запросе на передачу определенной команды. В ответ на информацию, обозначающую запрос, скомпонованное с программным управлением третье средство 105 выполняет определенную команду в ответ на информацию, обозначающую запрос.

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

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

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

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

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

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

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

Что касается URI, один и тот же URI также можно использовать как "цель" гиперссылки на веб-странице или в электронной почте. В этом случае URI может быть активирован, например, отмечая мышью такую гиперссылку. Также возможно использовать URI из программы сценария Java, внедренный в сетевую страницу. Однако другие программы, установленные локально, например, в компьютере, также могут использовать такой URI. Например, дополнительный программный модуль адресной книги электронной почты может использовать этот URI для отправки адреса из программы электронной почты в программу домашнего приложения, установленную, например, в ПК.

Например, домашнее приложение (например, управляющее навигационным содержанием) предлагает свой собственный UI. Однако с целью навигации можно использовать дополнительное содержание, которое сохранено за пределами домашнего приложения. Например, программа электронной почты содержит адресную книгу, содержащую так же, как всемирная сеть, множество адресов. Было бы полезным, если бы домашний клиент мог воспользоваться этими преимуществами. Другие стороны могут быть, например, заинтересованы в предложении навигационного содержания во всемирной сети в таком формате, который позволяет устанавливать его в домашнее приложение, которое может воплощать специализированную схему <заголовок>:/// схема URI, что обеспечивает возможность такого доступа.

Схема URI, которая определена в RFC 3986, определяет структуру, в пределах которой может быть воплощено множество протоколов. Современные операционные системы позволяют приложениям самостоятельно регистрироваться в качестве выделенного обработчика для URI с заданным протоколом. Домашнее приложение (домашний клиент), предусмотренное, например, их упомянутой выше компьютерной программой, самостоятельно регистрируется как обработчик для URI, начинающихся с <заголовок>:///.

Остальная часть URI используется как список команд в домашнем клиенте. Используя такой подход, такой адрес как "Amsterdam, Rembrandtplein 35" можно, например, кодировать как <заголовок>:///Адрес?Amsterdam&Rembrandtplein&35.

В этом отношении символы "?" и "&" являются не обязательными и могут быть заменены другими заданными знаками или строками знаков.

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

"Адрес?Amsterdam&Rembrandtplein&35". Домашний клиент затем предлагает пользователю список вариантов, что сделать с этим адресом. Однако существует множество навигационных задач, для которых можно использовать адрес.

Используя тот же подход и предполагая, что "http://shop.<web address>/voices/dutch/bram.toc" (http://магазин.<сетевой адрес>/голоса/голландский/bram.toc) представляет собой голландский голос, становится возможным сформировать следующий URI:

<header>:///Install?http%3a%2f%2fshop.<web

address>%2fvoices%2fdutch%2fbram.toc.

Если такой URI появится на сетевой странице, и пользователь отметит его мышью, сетевой браузер может запросить операционную систему передать его. OS просит домашний клиент выполнить действия, предполагаемые по команде install?http%3a%2f%2fshop. <web address>%2fvoices%2fdutch%2fbram.toc, что в этом случае представляет собой загрузку bram.toc (таблица содержания) из заданного адреса.

Далее будет описана спецификация формата команд.

Ссылаясь на родовой формат URL (который может соответствовать RFC 3986), команда может иметь следующую структуру:

<заголовок>:/// список команд,

где:

список команд = команда ['#' команды] +

команда = название команды '?' список аргументов

название команды = (имя поддерживаемой команды, см. ниже)

список аргументов = UrlEncode (аргумент) ['&' список аргументов] +

аргумент = строка UTF8.

Со ссылкой на юридически признанный формат URL команда может иметь следующую структуру:

<заголовок>://список наследуемых команд,

где:

список наследуемых команд = наследуемая команда ['&' наследуемая команда] +

наследуемая команда = имя команды '('список наследуемых аргументов')'

список наследуемых аргументов = UrlEncode (аргумент) [',' список наследуемых аргументов] +.

Унаследованные URL не могут содержать знак "?", в то время как правильные URL всегда его имеют. Это позволяет различать их. Следует отметить, что эти URL не соответствуют RFC (РПР, Рабочее предложение). Множество объектов обработки URL будут изменять их во время обработки. В частности, множество сетевых браузеров Windows добавляют дополнительный "/" в попытке сделать URL соответствующим. Некоторые сетевые браузеры не поддерживают их вообще. Домашнее приложение пытается интерпретировать неправильно сформированные URL для борьбы с широким разнообразием приложений, работающих на основе URL, но использование унаследованного формата URL делает этот подход более сложным.

Команда может иметь следующую структуру и аргументы:

Структура: EMailContact?folder-ID&entry-ID

Аргументы: Идентификаторы электронной почты.

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

Структура: Adress?city&street&number

Аргументы: данные адреса.

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

Структура: ShowOnMap?city&street&number

Аргументы: данные адреса.

По меньшей мере, один из города или улицы не должен быть пустым.

Структура: NavigateTo?city&street&number

Аргументы: данные адреса.

По меньшей мере, один из города или улицы не должен быть пустым.

Структура: AddFavourite?favourite-name&city&street&number

Аргументы: название любимых мест и данные адреса.

По меньшей мере, один из города или улицы не должен быть пустым.

Install?URL

Аргументы: HTTP URL описания TOC (ТС, таблица содержания) для загружаемого элемента и установка, если устройство подключено.

Ресурс, обозначаемый с помощью URL, имеет тип MIME (МРЭП, многоцелевые расширения электронной почты в Интернет) "text/xml".

Формат TOC (таблица содержания) может быть определен, например, по схеме XML в файле "TOC format.xsd".

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

Структура: Execute?URL

Аргументы: HTTP URL текстового файла, содержащего фактический список команд.

Ресурс, обозначенный URL, имеет тип MIME "текст/простой".

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

Когда используют название команды Execute(), название команды используется в унаследованной команде, URL может предоставлять список унаследованных команд в ответ на это.

Структура: SwitchTab?Tabname

Аргументы: название ярлыка, сформированного сервером.

Домашнее приложение переключается на этот ярлык, если он присутствует. Если он отсутствует, домашнее приложение запоминает название и переключается на ярлык, как только сервер сформирует его. Домашнее приложение запоминает только одно название; вторая команда SwitchTab заменяет первую.

Структура: <название пользователя или хоста>Page? Tabname&hostname&URL-path&anchor

Аргументы: Название ярлыка для вновь созданного ярлыка, название хоста, путь (относительно названия хоста) и привязка URL.

Домашнее приложение вначале проверяет, существует ли ярлык с заданным названием ярлыка, или в противном случае оно формирует один такой. Такой ярлык затем получает собственный URL, установленный в http://hostname.<web address>/URL-path#anchor.

Домашнее приложение может отклонять названия хоста, которые содержат не буквенно-цифровые знаки, которые не позволяют вводить название. Например, название хоста "badguys.com/ignore" может быть отклонено, поскольку "." и "/" являются недействительными знаками.

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

Структура: <PublicKeyIdentifier>?command-list&signature

Аргументы: список команд и подпись.

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

подпись = Sign<PrivateKey>(command-list).

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

Sign<PrivateKey>(command-list) может быть реализован следующим образом.

Список команд представляет собой строку UTF-8 и, следовательно, может быть выражен как последовательность байтов. Список команд не должен быть кодирован с помощью URL, когда его используют как вход для Sign<PrivateKey>.

Со ссылкой на схему кодирования рассчитывают значения хеш-функции H SHA-256 (256 битов) этой последовательности байтов. Кроме того, используя частный ключ (Q, M), рассчитывают значение (QH модуля M) подписи. Подпись сохраняют, как кодированную, как Base-64 последовательность с прямым порядком байтов (байты заполнения не требуются, и их не добавляют для поддержания URL коротким). Как и все аргументы список команд и аргументы подписи будут кодированы как URL. Когда используют название команды <PublicKeyIdentifier>() в унаследованной команде, первый аргумент предпочтительно должен представлять собой список унаследованной команды.

Дешифрование представляет собой обратный процесс: домашнее приложение содержит открытый ключ (P, M). Рассчитывают значения хеш-функции H SHA-256 списка команды (после декодирования URL) (256 битов). Используя открытый ключ (P, M), рассчитывают дополнительную подпись (PH модуль M). Подпись декодируют как Base-64 для получения (QH модуль M), в котором рассчитывают произведение (PH · QH) модуль М. Подпись принимают, если она соответствует дополнительной подписи, что означает, что (PH · QH) модуль М равно 1.

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

Со ссылкой на позиционный синтаксис, если название команды имеет, например, три параметра, и предусмотрены три аргумента, тогда первый параметр сопоставляют с первым аргументом и т.д. Например, команда адреса имеет три параметра: Город, Улица и Номер Дома. Фактический URI затем содержит три аргумента, в котором первый аргумент интерпретируют как название города и т.д.

В качестве альтернативы, может поддерживаться следующий синтаксис: Address? Street=RembrandtPlein&City=Amsterdam.

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

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

В общей форме <заголовок>:///URI может содержать одну или больше команд. Таким образом, знак "#" (или любой другой знак, например "and" (и)) можно использовать для конкатенации команд.

На фиг.3 показана блок-схема устройства передачи данных, предназначенного для эмуляции поведения навигационного устройства в ответ на выполнение встроенного программного обеспечения устройства, установленного в навигационном устройстве. Устройство передачи данных содержит блок 301 предоставления, предназначенный для предоставления информации, относящейся к встроенному программному обеспечению устройства, определитель 303, соединенный с блоком 301 предоставления, предназначенный для определения, соответствует ли текущее установленное встроенное программное обеспечение в устройстве передачи данных встроенному программному обеспечению устройства, установленному в навигационном устройстве, и процессор 305, соединенный с определителем 303, для выполнения текущего встроенного программного обеспечения в устройстве передачи данных, для эмуляции поведения навигационного устройства, если текущее встроенное программное обеспечение соответствует встроенному программному обеспечению устройства.

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

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

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

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

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

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

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

На фиг.5 демонстрируется способ предоставления криптографически подписанной команды, причем команда содержит название команды и, по меньшей мере, один аргумент команды. Способ содержит: генерируют 501 криптографическую подпись названия команды и составляют 503 (например, выполняя конкатенацию) криптографически подписанную команду, используя название команды, подпись и, по меньшей мере, один аргумент команды.

Например, схемы шифрования и дешифрования, описанные в связи с вариантом воплощения по фиг.2, можно использовать для предоставления и подтверждения цифровой подписи.

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

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

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

verify_command(commandname1(argument1,argument2,argument3), signature).

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

commandname1(argument1,argument2,argument3) + private_key = signature.

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

commandname1(argument1,argument2,argument3) + public_key = countersignature.

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

Например, рассматривают команду

<header>:///<PublicKeyIdentifier>?Install%3fhttp%3a%2f%2fintranet%2fplus%2fdocuments%2ftemp%2fnavcore_6.522.7709.go510-go710.toc&JYrSIQ,

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

Install%3fhttp%3a%2f%2fintranet%2fplus%2fdocuments%2ftemp%2

fnavcore_6.5 22.7709.go510-go710.toc.

Эта команда является встроенной командой. Фактическое название команды представляет собой install, "?" кодируется как %3f, и остальное представляет собой аргумент команды install. Пользователь подписал команду install своим частным ключом, и эта подпись, которая появляется, представляет собой JYrSIQ. Для проверки команды может быть сгенерирована дополнительная подпись. Дополнительная подпись будет соответствующей, если команда была правильно подписана.

Если другой пользователь пытается редактировать команду, например, <header>:///<PublicKeyIdentifier>?Install%3fhttp%3a%2f%evil.com%2fnavcore_6.522.7709.go510-go710.toc&JYrSIQ, другая дополнительная подпись будет рассчитана, которая не соответствует этой подписи. Таким образом, содержание установки от evil.com будет отклонено.

На фиг.6 показано устройство передачи данных, предназначенное для обновления текущего навигационного содержания, сохраненного в навигационном устройстве. Устройство передачи данных содержит элемент 601 поиска, предназначенный для поиска информации, обозначающей текущее навигационное содержание, из навигационного устройства, передатчик 603, подключенный к элементу поиска для передачи информации, обозначающей текущее навигационное содержание, в удаленное сетевое устройство через сеть передачи данных, приемник 605 для приема обновленного навигационного содержания из удаленного устройства передачи данных и процессор 607, предназначенный для отображения информации, относящейся к обновленному навигационному содержанию, или для установки обновленного навигационного содержания в навигационном устройстве.

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

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

Как упомянуто выше, информация содержания может быть сведена в краткой форме в виде файла TOC (таблица содержания). Примерный файл TOC представлен ниже:

Поле <InstallRestrictions DeviceId = "35265252"/> определяет ограничения в отношении нестабильности этого пункта (кроме элемента <Target>). Оно не имеет содержания. Дополнительные атрибуты представляют собой: deviceId (строка), обозначающий, что пункт может быть установлен только в устройстве с этим ID устройства, и minNavigatorVersion (строка), обозначающий, что должна быть установлена минимальная версия навигационной программы, которая должна быть установлена для этого пункта.

На фиг.7 показана блок-схема сценария обмена данных с исполняемой программой 701 приложения (любимое приложение, домашнее приложение), работающего, например, на компьютере, который связан через сеть 703 передачи данных с удаленным сервером 705 для обмена информацией, как показано на фиг.7. Сервер 707 может предоставлять сообщения, которые появляются либо в виде сообщений 707 всплывающей подсказки, или как компоненты браузера, например, предоставляемые программой 701 приложения.

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

1. Устройство передачи данных для эмуляции поведения навигационного устройства в ответ на выполнение встроенного программного обеспечения устройства, установленного в навигационном устройстве, причем устройство передачи данных содержит:
блок (301) предоставления, предназначенный для предоставления информации, относящейся к встроенному программному обеспечению устройства;
определитель (303), предназначенный для определения, соответствует ли текущее встроенное программное обеспечение, установленное в устройстве передачи данных, встроенному программному обеспечению устройства, установленному в навигационном устройстве; и
процессор (305), предназначенный для выполнения текущего встроенного программного обеспечения в устройстве передачи данных для эмуляции поведения навигационного устройства, если текущее встроенное программное обеспечение соответствует встроенному программному обеспечению устройства.

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

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

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

5. Устройство передачи данных по п.1, причем процессор (305) дополнительно выполнен с возможностью управления навигационным устройством на основе эмуляции поведения навигационного устройства.

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

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

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

9. Способ по п.7 или 8, содержащий этап, на котором: подключаются к навигационному устройству для получения информации, обозначающей встроенное программное обеспечение устройства.

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

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



 

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

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

Изобретение относится к области электронных загрузок программного обеспечения. .

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

Изобретение относится к области аппаратов плазменной обработки. .

Изобретение относится к вычислительной технике. .

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

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

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

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

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

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

Изобретение относится к системам и способам соединения со съемными модулями памяти. .

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

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

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

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

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