УСТРОЙСТВО БЕСПРОВОДНОЙ СВЯЗИ
WIRELESS COMMUNICATION DEVICE

Изобретение относится к области устройств беспроводной связи и, в частности, к человеко-машинным интерфейсам, пригодным для использования с устройствами беспроводной связи.
Человеко-машинные интерфейсы (ЧМИ) традиционно описываются набором логических модулей, которые вызывают функции в библиотеке на устройстве. Библиотека обеспечивает набор функций, которые отображают компоненты пользовательского интерфейса на экране, и, вызывая эти библиотечные функции определенным образом и связывая их друг с другом с использованием программной логики, разработчик ЧМИ может визуализировать на экран графическое представление нужного интерфейса.
Этот подход имеет ряд недостатков, например использование программной логики для обеспечения визуализированного ЧМИ требует весьма разнообразных знаний, необходимых для описания эргономичного и эстетически удовлетворительного ЧМИ. Кроме того, часто бывает неудобно и нежелательно вносить изменения в ЧМИ после того, как устройство связи получило распространение на рынке, и новая пробная версия ЧМИ обычно требует значительных усилий со стороны программиста для приспособления библиотечных вызовов или логических модулей к новому требуемому поведению или внешнему виду.
Поэтому желательно попытаться обнаружить подход к этой проблеме, который позволяет разработчику логических модулей работать независимо от разработчика ЧМИ. При этом между двумя заинтересованными сторонами возникает "интерфейс" и обе стороны этого "интерфейса" могут осуществлять доводку на поздней стадии производства или фактически после распространения устройства беспроводной связи.
Согласно первому аспекту настоящего изобретения предусмотрен терминал мобильной связи, содержащий сущность (объект) представления и совокупность логических сущностей (объектов); причем сущность представления содержит один или несколько наборов данных представления, и с каждой логической сущностью связана программная сущность, пользовательский интерфейс для терминала мобильной связи генерируется во время использования путем запрашивания одной или нескольких программных сущностей для приема данных, представляющих состояние каждой соответствующей логической сущности, с последующей организацией принятых данных логической сущности в соответствии с набором данных представления.
Пользовательский интерфейс для терминала можно изменять, применяя дополнительный набор данных представления к принятым данным логической сущности. Последовательность принятых программных сущностей можно изменять и применять дополнительный набор данных представления к измененным данным логической сущности. Пользовательский интерфейс для терминала можно обновлять путем обновления данных, принятых от одной или нескольких программных сущностей.
Терминал также может содержать одно или несколько устройств отображения, на которых может отображаться пользовательский интерфейс терминала. Терминал также может содержать средство пользовательского ввода.
Предпочтительно терминал также содержит координирующую сущность, которая во время использования определяет, какие программные сущности нужно запрашивать, принимает данные логической сущности от этих программных сущностей и применяет набор данных представления к принятым данным для создания набора данных пользовательского интерфейса. Терминал также может содержать сущность визуализации и во время использования координирующая сущность может посылать набор данных отображения на сущность визуализации, при этом сущность визуализации преобразует набор данных пользовательского интерфейса так, чтобы его можно было отобразить. Терминал также может содержать управляющую сущность, которая во время использования активирует функцию терминала в ответ на конкретное событие. В частности, конкретное событие может обусловливать выполнение сценария управляющей сущностью. Конкретным событием может быть активирование пользователем средства пользовательского ввода или достижение переменной, например временем или датой определенного значения. Набор данных представления может дополнительно содержать данные перевода.
Согласно второму аспекту настоящего изобретения предусмотрен способ функционирования терминала мобильной связи, заключающийся в том, что (а) генерируют один или несколько элементов данных, представляющих одну или несколько логических сущностей в терминале, запрашивая одну или несколько логических сущностей; (b) применяют набор данных представления к генерированным элементам данных для генерации набора данных пользовательского интерфейса для терминала.
Кроме того, способ может содержать дополнительный этап, на котором применяют набор данных перевода к генерированным элементам данных до выполнения этапа (b). Способ также может содержать дополнительный этап (с), на котором визуализируют набор данных пользовательского интерфейса и посылают результаты на устройство отображения. Дополнительно набор данных представления или набор данных перевода можно компилировать в двоичный формат и передавать на терминал.
Теперь опишем изобретение исключительно в виде примера со ссылкой на следующие чертежи, на которых:
фиг.1 - схема устройства беспроводной связи согласно настоящему изобретению;
фиг.2 - схема функционирования устройства беспроводной связи, показанного на фиг.1;
фиг.3 - логическая блок-схема, иллюстрирующая функционирование машины (процессора);
фиг.4 - логическая блок-схема, которая описывает функционирование актора по запросу от машины;
фиг.5 - логическая блок-схема, которая описывает функционирование визуализатора;
фиг.6 - логическая блок-схема, которая описывает функцию агента;
фиг.7 - логическая блок-схема, описывающая процесс, посредством которого можно создавать или изменять ЧМИ;
фиг.8 - метод компиляции двоичного кода, представленный в виде диаграммы классов.
На фиг.1 показана схема устройства 100 беспроводной связи согласно настоящему изобретению. Устройство 100 содержит антенну 110, экран дисплея 120, интерфейс 130 ввода, процессор 140, средство 145 хранения, операционную систему 150 и совокупность других прикладных программ 155.
На фиг.2 показана схема функционирования устройства 100 беспроводной связи, показанного на фиг.1. Машина 160 поддерживает связь с интерфейсом 165 на основе сообщений, который позволяет передавать и принимать данные от других компонентов системы. Менеджер 190 ресурсов (устройство управления) управляет хранением сущности 192 снимков, сущности 194 преобразования перевода и преобразования 196 представления и координирует перенос данных от этих сущностей на машину 160. Совокупность снимков составляет сцену. Под снимком можно понимать статические данные или динамические данные, которые будут инициировать запрос атрибута актора. Агент 200 передает обновления менеджеру ресурсов и извещения об обновлении машине 160 через интерфейс 165. Визуализатор 170 принимает разнообразные мультимедийные элементы, изображения, звуки и пр. от менеджера 190 ресурсов. В альтернативной реализации можно использовать несколько визуализаторов для разных типов сред, например аудио-материалов. Изобретение также применимо к мобильным устройствам с несколькими экранами, в этом случае возможно несколько визуализаторов дисплея. Визуализатор также принимает содержимое визуализатора от машины 160 и передает ей данные пользовательского ввода. Машина также поддерживает связь с совокупностью акторов 180; для простоты на фиг.2 показаны только акторы 181, 182, 183, 184, но очевидно, что с интерфейсом 165 может поддерживать связь большее или меньшее количество акторов.
Акторы 180 представляют логические модули устройства беспроводной связи, например экран дисплея, визуализатор, интерфейс ввода, энергосберегающее оборудование, стек протоколов телефонной связи, совокупность других прикладных программ, например программу календаря. Визуализатор 170 является компьютерной программой, отвечающей за прием представленного ему описания объекта и преобразование этого описания объекта в графику на экране. Машина 160 имеет ряд функций, в том числе запрашивание и регистрация для приема обновлений данных от акторов 180; считывание объектно-ориентированного описания запрашиваемых данных (то, что называется снимком); взятие данных, полученных от акторов 180, и помещение данных в независимое от визуализатора описание объекта нужного представления ЧМИ (называется взятием); перевод независимого от визуализатора описания объекта на новый язык, например немецкий, еврейский, корейский и т.д. в результате применения таблицы стилей перевода; и взятие переведенного независимого от визуализатора описания объекта и преобразование данных в независимое от визуализатора описание объекта в результате применения таблицы стилей представления. Агент - это другая программа 190, отвечающая за прием информации от других сущностей и преобразование информации, принятой от этих сущностей, в запросы обновлений акторов, сценариев, преобразований перевода или преобразований представления. Сценарий - это полное собрание сцен и снимков, которые образуют уровень поведения ЧМИ. Снимок содержит один или несколько прожекторов, а прожектор содержит нуль или более запросов атрибута актора. Прожектор без запросов атрибута актора составляет фрагмент содержимого, который является статическим до применения представления или преобразования языка. Пример базового пользовательского интерфейса, содержащего одну сцену и несколько снимков, приведен в приложении А.
Теперь рассмотрим в общих чертах работу системы, описанной выше со ссылкой на фиг.2. На фиг.3 показана логическая блок-схема, описывающая действие машины 160. На этапе 300 машина узнает о наличии установленных акторов, обращаясь к списку ресурсов, установленному совместно со сценарием. На этапе 310 каждый актор устанавливает связь с машиной, регистрируясь на ней. Если на этапе 310 не была установлена связь со всеми акторами, то происходит возврат к этапу 300, если связь установлена со всеми акторами, то на этапе 320 машина загружает снимок из сущности 192 снимков. Машина запрограммирована сначала загружать заданную сцену (экран запуска) с образующими ее снимками.
На этапе 310 машина 160 обращается к данным содержимого снимка и интерпретирует их, чтобы определить, от каких акторов ей потребуются данные. На этапе 340 машина запрашивает данные от одного или нескольких из совокупности акторов 180, которые были указаны в данных содержимого снимка. На этапе 350 машина ожидает поступление данных от акторов. После ответа всех запрошенных акторов машина переходит к этапу 360; если же не удалось получить ответ от одного или нескольких акторов, например до истечения таймера, машина возвращается к этапу 340 и направляет дополнительные запросы актору(ам), который(е) не ответил(и).
Затем машина обрабатывает полученные данные для формирования «взятия» на этапе 360, которое форматируется путем применения таблицы стилей перевода на этапе 370 и таблицы стилей представления на этапе 380. В результате этих различных этапов получается описание объекта, которое визуализатор 170 может понять и реализовать, и на конечном этапе 390 процесса описание объекта передается от машины на визуализатор. Визуализатор будет обрабатывать описание объекта, извлекать по соответствующим ссылкам графическое или мультимедийное содержимое из менеджера ресурсов и отображать или иначе выводить ЧМИ, заданный в описании объекта, пользователю.
На фиг.4 показана логическая блок-схема, которая описывает функционирование актора 180 по запросу от машины. На этапе 440 машина устанавливает связь с актором и актор ожидает на этапе 410 приема запроса данных от машины. Если запрос от машины правильный, то актор переходит с этапа 420 к этапу 430 и формулирует ответ на полученный запрос. Если запрос неправильный, то актор возвращается к этапу 410. Сформированный ответ поступает на машину на этапе 440; если на этапе 450 запрос выполнен, то актор возвращается к этапу 410 и ожидает дальнейшего запроса данных; в противном случае актор ожидает изменения данных (например, уменьшения уровня заряда батареи) на этапе 460 до возврата к этапу 430, чтобы сгенерировать новый ответ, подлежащий отправке на машину.
На фиг.5 показана логическая блок-схема, которая описывает работу визуализатора 170. После установления связи с машиной на этапе 510 визуализатор на этапе 520 ожидает поступления от машины визуализируемых данных описания объекта. После поступления подходящих данных данные визуализируются на экран дисплея 120 на этапе 530 и визуализатор возвращается к этапу 520.
На фиг.6 показана блок-схема, которая описывает функцию агента. Агент устанавливает связь с машиной на этапе 600, после чего агент ожидает поступления обновлений из сети связи на этапе 610. Если желательно изменить один или несколько акторов, таблицу стилей перевода, таблицу стилей представления или снимки (их можно называть «изменяемыми сущностями»), агент способен принимать сетевую передачу от других сущностей (например, поставщиков сетевых услуг, поставщиков содержимого, изготовителей терминалов и т.д.), содержащих изменения, дополнения или удаления изменяемой сущности. На этапе 620 агент проверяет полученные данные, чтобы гарантировать, что это обновление изменяемой сущности. Если это так, то на этапе 630 обновление изменяемой сущности поступает на менеджер 190 ресурсов с целью замены соответствующей сущности, и машина также извещается об обновлении сущности. Если принятые данные не являются обновлением изменяемой сущности, то агент отбрасывает принятые данные и возвращается к этапу 610, чтобы ожидать поступления из сети дальнейших данных.
Агент может инициировать загрузку обновления изменяемой сущности в ответ на действие пользователя или по приглашению машины или менеджера ресурсов (например, сущность может использоваться на протяжении заданного времени, и требуется проверить наличие обновления или заплатить за право продолжать использовать ее). Альтернативно, обновления могут быть направлены агенту от сервера, подключенного к терминалу через сеть беспроводной связи. Для поддержания безопасности и целостности терминала предпочтительно, чтобы агент проверял загруженные обновления на предмет ошибок передачи, вирусов или другого случайного или злонамеренного повреждения до передачи обновлений менеджеру ресурсов. Дополнительно, агент может содержать функцию ЦУП (цифрового управления правами), которая может включать в себя проверку того, что принятое содержимое снабжено цифровой подписью с помощью ключа вызова, который совпадает с ключом приема, хранящимся на мобильном устройстве. В случае совпадения осуществляется установка; в случае несовпадения обновление может быть отброшено или установлено с ограничениями, например обновление будет удалено по прошествии некоторого периода времени или обновление будет установлено с ограниченными функциональными возможностями. Агент также способен предлагать удаление содержимого ЧМИ и/или изменяемые сущности от менеджера ресурсов. Содержимое может быть удалено, например, после того, как оно было установлено, в течение заданного периода времени, в ответ на команду сервера или пользовательский ввод, или для освобождения места для нового содержимого в менеджере ресурсов и т.д.
Хотя большая часть функций терминала (и, таким образом, актора) внедряется во время изготовления, изобретение позволяет добавлять дополнительные функции, например, путем подключения подключаемого устройства, например модема для дополнительной сети связи или энергонезависимого запоминающего устройства. В этом случае программное обеспечение актора, связанное с подключаемым устройством, которое можно с удобством загружать с устройства по последовательному соединению во время подключения, устанавливается в совокупность акторов, и на машину направляется сообщение для регистрации нового актора. Альтернативно, само подключаемое устройство может содержать средство обработки, способное выполнять функции актора, и связь между машиной и подключаемым актором осуществляется по локальному каналу связи. В случае удаления подключаемого устройства, соответственно происходит отмена регистрации.
События пользовательского ввода могут наступать при нажатии клавиши, манипуляции сенсорным экраном, манипуляции другим устройством, например закрывании скользящей крышки или при голосовом вводе команды. В последнем случае актор распознавания речи используется для перевода голосовых команд в команды сообщения, направляемые машине. Общеизвестно, что точность распознавания речи повышается за счет ограничения словаря распознавания до наименьшего возможного контекста. В этом изобретении каждая сцена, которая имеет потенциальный голосовой ввод, имеет соответствующий контекст. Контекст можно с удобством сохранять как часть сущности преобразования представления и передавать актору распознавания речи совместно с содержимым визуализатора для отображения или другого мультимедийного выхода.
Настоящее изобретение позволяет значительно снизить усилия и сложность, необходимые для разработки нового ЧМИ (а также для изменения существующего ЧМИ), по сравнению с известными технологиями. На фиг.7 показана логическая блок-схема, описывающая процесс, посредством которого можно создавать или изменять ЧМИ. На этапе 700 задается и создается новый ЧМИ с использованием инструмента создания, действующего на персональном компьютере или аналогичной рабочей станции. Инструмент создания выдает описание пользовательского интерфейса на языке разметки, который задан набором схем XML (расширяемого языка разметки). Поскольку большинство современных терминалов мобильной связи имеют значительные ограничения в отношении емкости хранения и мощности обработки, на этапе 710 язык разметки компилируется в набор преобразованных в последовательную форму объектов в двоичном формате. Эти объекты можно затем подвергать дальнейшей обработке на этапе 720 для обеспечения пакета доставки, который можно разместить на сервере, готовом для распределения на мобильный терминал.
На этапе 730 пакет доставки ЧМИ передается на мобильный терминал с использованием, например, носителя данных сети беспроводной связи, где пакет принимается подсистемой радиосвязи на мобильном терминале (этап 740). Затем пакет доставки ЧМИ распаковывается агентом на этапе 750 для восстановления двоичных файлов. Затем эти файлы проверяются и устанавливаются на менеджере ресурсов терминала для последующего использования (этап 760). Таким образом, когда машине требуется один из элементов ЧМИ, например таблица стилей перевода, вновь загруженная таблица стилей может быть передана машине (этап 770) для обработки прежде, чем будет направлена визуализатору для отображения пользователю (этап 780). Эта методика также допускает последующие обновления для подачи на мобильный терминал очень простым способом. Обновленные сущности можно компилировать, пакетизировать и передавать, и агент гарантирует, что только вновь принятая сущность будет загружена на терминал, и что сущность, подлежащая замене, удалена. Очевидно, что это изобретение позволяет использовать любые удобные средства доставки пакетов ЧМИ, включая беспроводные и проводные каналы связи и подключаемые среды хранения.
Терминал может сохранять множественные наборы данных ЧМИ. Один набор данных ЧМИ можно использовать по всем областям пользовательского интерфейса, или множественные наборы данных ЧМИ могут существовать одновременно в разных областях пользовательского интерфейса, что позволяет пользователю осуществлять навигацию между разными наборами данных. Например, каждая область выделена для отдельной функции или отдельного интереса пользователя, например совершение покупок, новости или управление и настройка терминала. ЧМИ, используемые для каждой области, можно обновлять, вставлять, активировать, замещать или удалять независимо от других. Можно также обновлять, замещать или удалять один или несколько компонентов набора данных ЧМИ в любой области или где-либо еще в пользовательском интерфейсе. Когда принят новый набор данных ЧМИ, он может быть выбран для включения либо поведенческих функций, либо уровня представления, или того и другого.
Терминал может содержать управляющую сущность, которая может управлять локальной работой терминала. Это включает в себя инициирование простой функции, например производство телефонного вызова или активацию подсветки или более сложной функции, например, приводящей к синхронизации данных календаря с удаленным сервером. Управляющая сущность может быть активирована через средство пользовательского ввода или при удовлетворении определенных условий, например будильник, запускаемый в заданное время. Предпочтительно, управляющая сущность способна выполнять сценарий, который может быть инициирован из одной или нескольких точек пользовательского интерфейса. Такой сценарий можно загружать, обновлять, вставлять и удалять. Сценарий позволяет инициировать сложные последовательности функций любым поведением пользователя в пользовательском интерфейсе. Комбинация изменяемых наборов данных ЧМИ и функций управления, определяемых сценариями, в управляющей сущности позволяет совместно и независимо изменять внешний вид пользовательского интерфейса и поведение управления. Управляющая сущность может быть включена в набор данных ЧМИ.
Как описано выше, объекты данных, передаваемые на терминалы для добавления или обновления ЧМИ, компилируются из языка разметки в двоичный код. Язык разметки использует ряд схем поведения и представления для описания ЧМИ для мобильных устройств. Схемы поведения, именуемые сценарием, содержат:
1) повторно используемые наборы цепочек, которые являются нитями поведения, инициируемыми конкретными событиями в телефоне;
2) описание построения каждой страницы из набора фрагментов страницы (сцен);
3) описание построения каждого фрагмента страницы из набора запросов, которые могут быть адресованы компонентам, представляемым акторами, для наполнения страницы динамическим содержимым (снимком);
4) набор условий перехода между страницами, т.е. событий визуализатора/логики, которые обуславливают переход ЧМИ с одной страницы на другую (условие смены сцен);
5) условия прерывания страницы, т.е. события визуализатора/логики, которые обуславливают сохранение, прерывание и последующее восстановление контекста страницы после завершения последовательности страниц (условия цепочки); и
6) автоматы перехода между состояниями для управления взаимодействием между событиями ЧМИ и логическими событиями, например, описывающие, как оперировать проигрывателем МР3 при наличии входящего вызова, и позволяющие содержимому страницы быть независимым от состояния (например, фоновое изображение страницы, отображаемой в данный момент, которая изменяется в результате приема нового SMS-сообщения).
Схемы представления содержат:
1) преобразования, описывающие, как фрагмент страницы без представления, построенный машиной выполнения ЧМИ (в портативном устройстве), можно преобразовать в формат с представлением, пригодный для специализированного визуализатора (наборов);
2) преобразования, описывающие как фрагмент страницы, нейтральный к языку, можно преобразовать во фрагмент страницы, ориентированный на язык;
3) преобразования, описывающие как фрагмент страницы без представления, построенный машиной, можно преобразовать в формат с представлением для отправки на специализированный визуализатор.
Помимо вышеописанных схем язык разметки обладает возможностью обрабатывать и выполнять мультимедийные ресурсы и файлы, включая графику, анимации, аудио, видео, подвижные баннеры и т.д.
Компиляция языка разметки в набор преобразованных в последовательную форму объектов в двоичном формате обеспечивает дополнительное преимущество в том, что беспроводному терминалу не нужно анализировать язык разметки. Это имеет очень значительные последствия для конструкции терминала, поскольку терминал получает возможность быстрее выполнять команды в ответ на пользовательские вводы (поскольку при каждом обновлении дисплея несколько объектов языка разметки (ЯР) нужно преобразовать к двоичному виду). Кроме того, это позволяет осуществлять экономию в отношении требований к хранению и памяти, поскольку текст языка разметки менее компактен, чем двоичные объекты, и уже не нужно обеспечивать анализатор XML для преобразования языка разметки в двоичный код. Реализация двоичного формата показана на фиг.8. Иллюстративная шестнадцатеричная распечатка, полученная в результате двоичной компиляции, показана ниже в приложении В.
Еще одно преимущество настоящего изобретения состоит в том, что логические модули, представленные акторами, отделены от ЧМИ. Таким образом, разработчику логических модулей не нужно знать, каким образом данные, обеспечиваемые логическими модулями, будут использоваться в ЧМИ (и аналогично разработчику ЧМИ не нужно ничего знать о логических модулях кроме того, какие данные можно у них запрашивать). Это разделение обеспечивает ряд преимуществ, например позволяет при необходимости быстро изменять ЧМИ (с помощью нового кода, загружаемого при необходимости на устройство связи через сетевую сущность); переписывание ЧМИ становится значительно более простой задачей, и возможно обеспечивать несколько разных таблиц стилей представления в беспроводном терминале, что позволяет пользователям выбирать из нескольких разных ЧМИ, каждый из которых имеет характеристики отображения, по их собственному выбору.
Очевидно, что настоящее изобретение можно реализовать в разнообразных терминалах мобильной связи, например сотовых радиотелефонах (использующих базовые сети второго, переходного или третьего поколения), персональных цифровых записных книжках, имеющих средства беспроводной связи (т.е. телефонные модемы, средства беспроводного или оптического подключения к локальной сети (ЛС) и т.д.), и т.д., и что характер терминала или способ его связи не влияет на использование изобретения.