RU2486579C2 - Устройство терминала, имеющее основанную на виртуальной машине (vm) структуру уровней для выполнения разнородных приложений - Google Patents

Устройство терминала, имеющее основанную на виртуальной машине (vm) структуру уровней для выполнения разнородных приложений Download PDF

Info

Publication number
RU2486579C2
RU2486579C2 RU2011139980/08A RU2011139980A RU2486579C2 RU 2486579 C2 RU2486579 C2 RU 2486579C2 RU 2011139980/08 A RU2011139980/08 A RU 2011139980/08A RU 2011139980 A RU2011139980 A RU 2011139980A RU 2486579 C2 RU2486579 C2 RU 2486579C2
Authority
RU
Russia
Prior art keywords
module
level
library
application
platform
Prior art date
Application number
RU2011139980/08A
Other languages
English (en)
Inventor
Мин-Чул КВАК
Хиеок-Гон РИУ
Донг-Янг ЛИМ
Кванг-Чул ШИН
Original Assignee
Инфравэар Текнолоджи, Инк.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Инфравэар Текнолоджи, Инк. filed Critical Инфравэар Текнолоджи, Инк.
Application granted granted Critical
Publication of RU2486579C2 publication Critical patent/RU2486579C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45516Runtime code conversion or optimisation

Landscapes

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

Abstract

Изобретение относится к области выполнения приложений Android. Техническим результатом является оптимизация инфраструктуры Android для устройств младших моделей так, чтобы приложения Google Android могли выполняться на терминалах, которые не работают на платформе Android, но работают на других платформах. Раскрывается устройство терминала, имеющее основанную на виртуальной машине структуру уровней для выполнения разнородных приложений. Устройство терминала содержит модуль уровня приложений, включающий в себя первое приложение и второе приложение; модуль уровня платформы, соединенный с процессором терминала и сконфигурированный для работы с первого приложения; и модуль промежуточного программного обеспечения, сконфигурированный для соединения модуля уровня платформы и второго приложения. 2 н. и 6 з.п. ф-лы, 4 ил.

Description

Перекрестная ссылка на связанные заявки
Настоящая заявка испрашивает приоритет на основании корейской заявки на патент № 10-2009-0121002, поданной 8 декабря 2009 года, которая полностью включена в состав настоящего документа посредством ссылки.
Уровень техники
Область техники, к которой относится изобретение
Иллюстративные варианты осуществления настоящего изобретения относятся к устройству терминала, имеющему основанную на виртуальной машине (VM) структуру уровней для выполнения разнородных приложений и, более конкретно, к технологии терминалов, которая оптимизирует инфраструктуру Android для устройств младших моделей так, чтобы приложения Google Android могли выполняться на терминалах, которые не работают на платформе Android, но работают на других платформах, и включает в себя уровень переноса («портирования»), сконфигурированный для соединения платформы терминала с межплатформенным программным обеспечением и виртуальной машиной, обеспеченной посредством изменения конфигурации виртуальной машины Dalvik для выполнения ее в однозадачной среде.
Описание предшествующего уровня техники
Платформа «Google Android» является комплектом программного обеспечения, выпущенным ОНА (Open Headset Alliance) под руководством Google, и означает программный пакет, включающий в себя ядро Linux, виртуальную машину, инфраструктуру и приложения.
Платформа Google Android может применяться исключительно к смартфонам старших моделей, которые включают в себя устройство отображения большого размера с разрешением 800x480 WVGA (широкоформатным VGA) и обеспечивают сенсорный ввод.
Для выполнения приложения Google Android к терминалу должен применяться весь комплект программного обеспечения Android. Поскольку комплект программного обеспечения Android включает в себя ядро Linux и множество базовых служб, таких как system daemon, платформа Google Android подходит для смартфонов старших моделей.
Соответственно, приложения Android имеют ограничение в том смысле, что они должны выполняться исключительно в смартфонах старших моделей. Следовательно, приложения Android не могут выполняться в обычных мобильных телефонах, которые работают на других платформах.
Раскрытие изобретения
Вариант осуществления настоящего изобретения ориентирован на технологию терминала, имеющего основанную на виртуальной машине структуру уровней для выполнения разнородных приложений, которые не только допускают выполнение приложений Google даже в устройствах младших моделей, но также допускают выполнение собственных приложений, поддерживаемых посредством платформ обычных устройств терминалов.
Другой вариант осуществления настоящего изобретения ориентирован на устройство терминала, имеющее основанную на виртуальной машине структуру уровней для выполнения разнородных приложений. Устройство терминала включает в себя: модуль уровня приложений, включающий в себя первое приложение и второе приложение; модуль уровня платформы, соединенный с процессором терминала, сконфигурированным для работы с первым приложением; и модуль промежуточного программного обеспечения, сконфигурированный для соединения модуля уровня платформы и второго приложения. Модуль промежуточного программного обеспечения включает в себя: модуль уровня библиотеки классов, включающий в себя модуль инфраструктуры приложений, имеющий библиотеку классов для выполнения второго приложения, и модуль базовой библиотеки классов, обеспечивающий API (прикладной программный интерфейс) JAVA; модуль уровня собственной библиотеки, включающий в себя виртуальную машину, сконфигурированную для работы со вторым приложением посредством библиотеки классов и API JAVA и собственной библиотеки, используемой для реализации библиотеки модуля инфраструктуры приложений; и модуль уровня переноса, сконфигурированный для соединения модуля уровня собственной библиотеки и модуля уровня платформы, и обеспечения функции управления аппаратными средствами терминала посредством модуля уровня платформы.
Первое приложение может включать в себя собственное приложение, второе приложение может включать в себя приложение Android, а виртуальная машина может включать в себя виртуальную машину Dalvik.
Виртуальная машина может работать с единственной задачей (т.е. работать в однозадачной среде) во взаимодействии с модулем уровня платформы посредством модуля уровня переноса.
Виртуальная машина может включать в себя один или более из модуля потокового управления, модуля управления динамическими библиотеками, интерфейса внешних функций (FFI), модуля синхронизации и модуля управления памятью и может работать во взаимодействии с модулем уровня платформы посредством модуля уровня переноса.
Модуль уровня переноса может включать в себя одно или более из файловой системы, модуля выделения памяти, сетевого модуля, базовой библиотеки, таймера и модуля управления устройствами, и может быть сконфигурирован для осуществления доступа к соответствующим аппаратным средствам устройства терминала, и может контролировать и управлять аппаратными средствами.
Модуль уровня собственной библиотеки может включать в себя одну или несколько собственных библиотек, которые осуществляют работу во взаимодействии с модулями управления аппаратными средствами модуля уровня переноса.
Модуль инфраструктуры приложений может включать в себя один или несколько модулей служб для выполнения службы телефонии, службы, основанной на определении местоположения, сетевой службы Bluetooth, сетевой службы WiFi, службы USB и службы сенсора и выполняет соответствующую службу в фоновом режиме в соответствии с выполнением второго приложения.
Краткое описание чертежей
Фиг.1 является блок-схемой, схематично иллюстрирующей полную конфигурацию устройства терминала, имеющего основанную на виртуальной машине структуру уровней для выполнения разнородных приложений в соответствии с вариантом осуществления настоящего изобретения.
Фиг.2 является блок-схемой, иллюстрирующей подробную конфигурацию модуля промежуточного программного обеспечения из Фиг.1.
Фиг.3 является расширенной блок-схемой, иллюстрирующей конфигурацию левой стороны модуля уровня библиотеки классов и модуля уровня собственной библиотеки из Фиг.2.
Фиг.4 является расширенной блок-схемой, иллюстрирующей конфигурацию правой стороны модуля уровня библиотеки классов и модуля уровня собственной библиотеки из Фиг.2.
Осуществление изобретения
Ниже будут более подробно описаны иллюстративные варианты осуществления настоящего изобретения со ссылкой на сопроводительные чертежи. Однако настоящее изобретение может быть реализовано в различных формах и не должно ограничиваться сформулированными в настоящем документе вариантами осуществления. Скорее эти варианты осуществления представлены, чтобы раскрытие изобретения было полным и законченным и полностью передавало специалистам в данной области техники объем настоящего изобретения.
Фиг.1 является блок-схемой, схематично иллюстрирующей полную конфигурацию устройства терминала 100, имеющего основанную на виртуальной машине структуру уровней для выполнения разнородных приложений в соответствии с вариантом осуществления настоящего изобретения.
Устройство терминала 100 включает в себя модуль 10 уровня приложений, модуль 20 промежуточного программного обеспечения, модуль 30 уровня платформы, процессор 40 терминала и аппаратные средства 50 терминала.
В целом, устройство терминала 100 относится к мобильному устройству, такому как мобильный телефон или MP3-плейер. Однако устройство терминала 100 может включать в себя обычные устройства терминалов, которые в зависимости от платформы осуществляют работу посредством процессора 40 терминала.
Во-первых, модуль 10 уровня приложений включает в себя первое приложение и второе приложение. В данном случае первое приложение обозначает собственное приложение, которое может выполняться непосредственно на платформе устройства терминала, а второе приложение обозначает дополнительное приложение, которое может выполняться посредством промежуточного программного обеспечения, включающего в себя уровень переноса («портирования») и виртуальную машину.
В случае мобильного терминала на платформе WISE (научная среда для сетевых запросов) компании LG собственные приложения, работающие на платформе WISE, соответствуют первому приложению, а приложения Google Android соответствуют второму приложению.
Модуль 30 уровня платформы соединен с процессором 40 терминала и сконфигурирован для работы с первым приложением.
Модуль 20 промежуточного программного обеспечения установлен между модулем 30 уровня платформы и модулем 10 уровня приложений и сконфигурирован для соединения второго приложения, обеспеченного в модуле 10 уровня приложений.
В то же время модуль 20 промежуточного программного обеспечения включает в себя не только виртуальную машину и библиотеку для выполнения второго приложения, но также включает в себя и уровень переноса для соединения модуля 20 промежуточного программного обеспечения с модулем 30 уровня платформы. Подробная структура модуля 20 промежуточного программного обеспечения будет описана со ссылкой на Фиг.2-4.
Процессор 40 терминала является центральным процессором (CPU). В случае мобильного терминала в качестве процессора 40 терминала может быть использован специализированный процессор для мобильных устройств, допускающий обработку множества мультимедийных данных и функций связи.
Аппаратные средства 50 терминала включают в себя блок вывода данных на экран, блок вывода звука и блок ввода пользователя, которые составляют устройство терминала.
Фиг.2 является блок-схемой, иллюстрирующей подробную конфигурацию модуля 20 промежуточного программного обеспечения из Фиг.1.
Модуль 20 промежуточного программного обеспечения может быть разделен на уровень 21 библиотеки классов, уровень 22 собственной библиотеки и уровень 23 переноса. В то же самое время соответствующие уровни становятся ближе к физическому уровню в направлении вниз. Самый нижний уровень 23 переноса расположен смежно с модулем 30 уровня платформы, а самый верхний уровень 21 библиотеки классов расположен смежно с модулем 10 уровня приложений.
Модуль 21 уровня библиотеки классов включает в себя модуль 21-2 инфраструктуры приложений, включающий в себя библиотеку классов, необходимую для выполнения второго приложения, и модуль 21-1 базовой библиотеки классов, обеспечивающий API (прикладной программный интерфейс) JAVA.
В обычном примере, модуль 21-2 инфраструктуры приложений используется посредством изменения или повторного использования модуля инфраструктуры приложений платформы Google Android. Модуль инфраструктуры приложений платформы Google Android включает в себя библиотеку классов и службы, необходимые для выполнения приложения Android. В то же самое время некоторые службы не являются необходимыми для совместимости с приложениями, и, следовательно, могут быть удалены для уменьшения «веса».
Кроме того, модуль 21-1 базовой библиотеки классов применяется посредством повторного использования базовой библиотеки, которая принадлежит среде выполнения Android на платформе Google Android. Базовая библиотека платформы Google Android включает в себя базовый API JAVA для программирования на JAVA.
Модуль 22 уровня собственной библиотеки включает в себя виртуальную машину 22-1, сконфигурированную для работы со вторым приложением, расположенным в модуле 10 уровня приложений, посредством библиотеки классов, обеспеченной в модуле 21-2 инфраструктуры приложений, и API JAVA, обеспеченного в модуле 21-1 базовой библиотеки классов. Кроме того, модуль 22 уровня собственной библиотеки включает в себя собственные библиотеки 22-2, которые должны представлять собой основу для реализации библиотек модуля 21-2 инфраструктуры приложений.
В обычном примере, виртуальная машина 22-1 применяется посредством изменения виртуальной машины Dalvik платформы Google Android. Таким образом, основанные на Linux модули удаляются из существующей виртуальной машины Dalvik, функции, которые не предоставляются посредством других платформ, добавляются и выполняется повторная конфигурация виртуальной машины Dalvik в структуре, которая должна выполняться даже в однозадачных средах.
Кроме того, собственные библиотеки 22-2 применяются посредством повторного использования библиотек, расположенных под уровнем инфраструктуры приложений Google Android. В то же самое время собственные библиотеки 22-2 используют программные средства с открытым исходным кодом. В случае необходимости, собственные библиотеки 22-2 могут быть изменены и перенесены («портированы»), а затем установлены в модуле 22 уровня собственной библиотеки.
Модуль 23 уровня переноса соединяет модуль 22 уровня собственной библиотеки с модулем 30 уровня платформы и обеспечивает функцию контроля аппаратных средств терминала посредством модуля 23 уровня платформы.
Таким образом, модуль 23 уровня переноса является уровнем, в котором работающие коды, зависимые от системы, организованы таким образом, чтобы легко перемещаться (т.е. «портироваться»), и включает в себя множество модулей управления аппаратными средствами, таких как файловая система, модуль выделения памяти, сетевой модуль, базовые библиотеки (stdio, stdlib, math и т.д.), таймеры, модули управления устройствами (устройством отображения, носителями информации, устройствами ввода, трехмерным изображением и т.д.) и другие утилиты (сервисные программы).
Модуль 23 уровня переноса сконфигурирован для получения доступа к соответствующим аппаратным средствам устройства терминала 100 посредством вышеописанных модулей управления аппаратными средствами и контроля и управления аппаратными средствами.
Например, модуль 23 уровня переноса включает в себя ядро (динамически подключаемую библиотеку (DLL), pthread и т.д.), систему (file, memory, socket, stdio, stdlib, string, math, time), устройство (framebuffer, media, input, 3D и т.д.) и сервисные программы (log, debug и т.д.).
Менеджер 60 первого приложения и менеджер 70 второго приложения обеспечивают множество функций управления загрузкой, автоматического обновления и стирания соответствующего приложения.
Фиг.3 является расширенной блок-схемой, иллюстрирующей конфигурацию левой стороны модуля 21 уровня библиотеки классов и модуля 22 уровня собственной библиотеки из Фиг.2.
Виртуальная машина 22-1 применяется посредством изменения виртуальной машины Dalvik. Виртуальная машина Dalvik является виртуальной машиной, обеспеченной посредством платформы Google Android и сконфигурированной таким образом, чтобы иметь концепцию, немного отличную от Виртуальной машины JAVA. Таким образом, виртуальная машина Dalvik может работать в среде с меньшим объемом памяти, чем виртуальная машина JAVA.
Виртуальная машина 22-1 включает в себя модуль потокового управления, модуль динамического управления, интерфейс внешних функций (FFI), модуль синхронизации, модуль управления памятью и так далее. Модуль потокового управления, сконфигурирован для управления потоками, такими как pthread, и модуль динамического управления сконфигурирован для управления динамическими библиотеками, такими, как совместно используемый объект и динамически подключаемая библиотека (DLL).
Вышеописанные модули, включенные в состав виртуальной машины 22-1, являются независимыми от платформы модулями, и виртуальная машина 22-1 может работать, взаимодействуя с модулем 30 уровня платформы посредством модуля 23 уровня переноса, не завися от платформы. Таким образом, виртуальная машина может избегать зависящих от Linux функций существующей платформы Android.
Кроме того, виртуальная машина 22-1 конфигурируется посредством изменения существующей виртуальной машины Dalvik для выполнения управления памятью в соответствии с терминальным устройством 100.
Кроме того, виртуальная машина 22-1 может работать в однозадачной среде посредством изменения существующей виртуальной машины Dalvik для управления виртуальной машиной 22-1 даже в терминальном устройстве 100, которое не поддерживает многозадачность, но работает с единственной задачей. Таким образом, виртуальная машина 22-1 работает с единственной задачей во взаимодействии с модулем 30 уровня платформы посредством модуля 23 уровня переноса.
Как было описано выше, оперативная библиотека 21-1 классов обеспечивает базовый API JAVA для программирования на JAVA.
Платформенно-ориентированные библиотеки 22-2 применяются в качестве основы для реализации библиотек верхнего уровня и могут быть перенесены («портированы») и обеспечены в соответствии с другими отличными от Linux платформам.
Фиг.4 является расширенной блок-схемой, иллюстрирующей конфигурацию правой стороны модуля 21 уровня библиотеки классов и модуля 22 уровня собственной библиотеки из Фиг.2.
Как показано на Фиг.4, модуль 22 уровня собственной библиотеки включает в себя множество собственных библиотек 22-2, которые работают во взаимодействии с модулями управления аппаратными средствами модуля 23 уровня переноса.
Модуль 21-2 инфраструктуры приложений может включать в себя множество модулей служб для выполнения службы телефонии, службы, основанной на определении местоположения, сетевой службы Bluetooth, сетевой службы WiFi, службы USB, службы сенсора и так далее. В то же самое время службы, обеспеченные посредством модулей служб, могут применяться в качестве серверов или daemon-процедур во всей системе. При выполнении второго приложения соответствующая служба выполняется в фоновом режиме.
В случае необходимости, соответствующие модули служб могут быть изменены, а ненужные модули служб могут быть удалены для уменьшения «веса».
В соответствии с вариантом осуществления настоящего изобретения, приложения Google Android могут выполняться не только на терминалах платформы Google Android, но также и на терминалах, функционирующих посредством других операционных систем. Следовательно, с ростом количества терминалов, применяющих приложений Android, можно будет создать множество дополнений.
Кроме того, поскольку объем платформы Android может быть уменьшен, приложения Android могут применяться в обычных мобильных телефонах младших моделей, а не в смартфонах старших моделей.
Несмотря на то, что настоящее изобретение было описано применительно к определенным вариантам осуществления, специалистам в данной области техники будет очевидно, что могут быть выполнены различные изменения и модификации без отступления от сущности и объема изобретения, задаваемого в нижеследующей формуле изобретения.

Claims (8)

1. Устройство терминала не-Android платформы для выполнения приложений Android, содержащее:
модуль уровня приложений, имеющий, по меньшей мере, одно приложение Android;
модуль уровня собственной платформы для не-Android платформы для работы с ресурсами аппаратных средств устройства терминала; и
модуль промежуточного программного обеспечения для соединения модуля уровня приложений и модуля уровня собственной платформы,
причем модуль промежуточного программного обеспечения содержит модуль уровня библиотеки классов, модуль уровня собственной библиотеки и модуль уровня переноса,
и в котором
модуль уровня библиотеки классов, содержит модуль инфраструктуры приложений, включающий в себя библиотеки классов, необходимые для выполнения приложения Android, и модуль базовой библиотеки классов, обеспечивающий API (прикладной программный интерфейс) JAVA,
модуль уровня переноса, сконфигурированный для соединения модуля уровня собственной библиотеки и модуля уровня собственной платформы, включает в себя модули управления аппаратными средствами, включающими в себя, по меньшей мере, одно из файловой системы, модуля распределения памяти, сетевого модуля, базовых библиотек, таймеров и модуля управления устройствами, причем модуль управления аппаратными средствами обеспечивает API стандарта Linux для управления аппаратными средствами устройства терминала с использованием кодов, зависящих от операционной системы (OS),
модуль уровня собственной библиотеки содержит виртуальную машину (VM) и собственную библиотеку, причем виртуальная машина использует ресурсы аппаратных средств посредством API стандарта Linux, обеспеченного посредством модуля уровня переноса, при выполнении приложений Android на основе библиотек классов и API JAVA, виртуальная машина сконфигурирована для выполнения приложений Android не посредством Linux, а посредством модуля уровня собственной платформы с использованием модуля потокового управления, модуля управления динамической библиотекой, интерфейса внешних функций, модуля синхронизации, модуля управления памятью, которые являются независимыми от платформы модулями, и при этом упомянутая собственная библиотека поддерживает реализацию библиотеки модуля инфраструктуры приложений.
2. Устройство терминала по п.1, в котором виртуальная машина работает с единственной задачей во взаимодействии с модулем уровня собственной платформы посредством модуля уровня переноса.
3. Устройство терминала по п.1, в котором модуль уровня собственной библиотеки содержит одну или более собственных библиотек, которые работают во взаимодействии с модулями управления аппаратными средствами модуля уровня переноса.
4. Устройство терминала по п.3, в котором модуль инфраструктуры приложений содержит один или более модулей служб для выполнения службы телефонии, службы, основанной на определении местоположения, сетевой службы Bluetooth, сетевой службы WiFi, службы USB и службы сенсора, и выполняет соответствующую службу в фоновом режиме в соответствии с выполнением приложения Android.
5. Машиночитаемый носитель записи для хранения программы для выполнения приложений Android на не-Android платформе, причем программа содержит:
модуль уровня приложений, имеющий, по меньшей мере, одно приложение Android;
модуль уровня собственной платформы для не-Android платформы, для работы с ресурсами аппаратных средств устройства терминала; и
модуль промежуточного программного обеспечения для соединения модуля уровня приложений и модуля уровня собственной платформы,
причем модуль промежуточного программного обеспечения содержит модуль уровня библиотеки классов, модуль уровня собственной библиотеки и модуль уровня переноса,
и в котором
модуль уровня библиотеки классов содержит модуль инфраструктуры приложений, включающий в себя библиотеки классов, необходимые для выполнения приложения Android, и модуль базовой библиотеки классов, обеспечивающий API (прикладной программный интерфейс) JAVA,
модуль уровня переноса, сконфигурированный для соединения модуля уровня собственной библиотеки и модуля уровня собственной платформы, включает в себя модули управления аппаратными средствами, включающими в себя, по меньшей мере, одно из файловой системы, модуля выделения памяти, сетевого модуля, базовых библиотек, таймеров и модуля управления устройствами, причем модуль управления аппаратными средствами обеспечивает API стандарта Linux для управления аппаратными средствами устройства терминала с использованием кодов, зависящих от операционной системы (OS),
модуль уровня собственной библиотеки содержит VM (виртуальную машину) и собственную библиотеку, причем виртуальная машина использует ресурсы аппаратных средств посредством API стандарта Linux, обеспеченного посредством модуля уровня переноса при выполнении приложений Android на основе библиотек классов и API JAVA, причем виртуальная машина сконфигурирована для выполнения приложений Android не посредством Linux, а посредством модуля уровня собственной платформы с использованием модуля поточного управления, модуля управления динамическими библиотеками, интерфейса внешних функций, модуля синхронизации, модуля управления памятью, которые являются независимыми от платформы модулями, и при этом упомянутая собственная библиотека поддерживает реализацию библиотеки модуля инфраструктуры приложений.
6. Машиночитаемый носитель записи по п.5, в котором виртуальная машина работает с единственной задачей во взаимодействии с модулем уровня собственной платформы посредством модуля уровня переноса.
7. Машиночитаемый носитель записи по п.5, в котором модуль уровня собственной библиотеки содержит одну или более собственных библиотек, которые работают во взаимодействии с модулями управления аппаратными средствами модуля уровня переноса.
8. Машиночитаемый носитель записи по п.7, в котором модуль инфраструктуры приложений содержит один или более модулей служб для выполнения службы телефонии, службы, основанной на определении местоположения, сетевой службы Bluetooth, сетевой службы WiFi, службы USB и службы сенсора, и выполняет соответствующую службу в фоновом режиме в соответствии с выполнением приложения Android.
RU2011139980/08A 2009-12-08 2009-12-11 Устройство терминала, имеющее основанную на виртуальной машине (vm) структуру уровней для выполнения разнородных приложений RU2486579C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2009-0121002 2009-12-08
KR1020090121002A KR100989613B1 (ko) 2009-12-08 2009-12-08 비안드로이드 플랫폼에서 안드로이드 어플리케이션을 실행하는 단말장치
PCT/KR2009/007439 WO2011071202A1 (ko) 2009-12-08 2009-12-11 이종 어플리케이션 실행을 위한 가상머신 기반의 계층구조를 갖는 단말장치

Publications (1)

Publication Number Publication Date
RU2486579C2 true RU2486579C2 (ru) 2013-06-27

Family

ID=43135767

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2011139980/08A RU2486579C2 (ru) 2009-12-08 2009-12-11 Устройство терминала, имеющее основанную на виртуальной машине (vm) структуру уровней для выполнения разнородных приложений

Country Status (7)

Country Link
US (1) US8555280B2 (ru)
EP (1) EP2511815A4 (ru)
JP (1) JP5694301B2 (ru)
KR (1) KR100989613B1 (ru)
CA (1) CA2768752C (ru)
RU (1) RU2486579C2 (ru)
WO (1) WO2011071202A1 (ru)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101328981B1 (ko) * 2011-02-24 2013-11-13 주식회사 케이티 상이한 동작 환경에서 제공되는 서비스를 상이한 단말기에서 실행시키기 위한 장치
WO2012138046A1 (ko) * 2011-04-04 2012-10-11 주식회사 인프라웨어테크놀러지 범용 운영체제 상에서 안드로이드 어플리케이션을 실행하기 위한 단말장치 및 방법, 그리고 이를 위한 컴퓨터로 판독가능한 기록매체
KR101249735B1 (ko) 2011-04-04 2013-04-03 주식회사 인프라웨어테크놀러지 범용 운영체제 상에서 안드로이드 어플리케이션을 실행하기 위한 단말장치 및 방법, 그리고 이를 위한 컴퓨터로 판독가능한 기록매체
KR101290565B1 (ko) * 2011-09-20 2013-07-31 주식회사 인프라웨어테크놀러지 안드로이드 앱의 행위정보 동적분석 에뮬레이터 및 이를 포함하는 행위정보 동적분석 시스템, 그리고 안드로이드 앱의 행위정보 동적분석 프로그램이 기록된 컴퓨터 판독 가능한 기록매체
KR101291690B1 (ko) * 2011-12-23 2013-08-01 전자부품연구원 스마트 단말기에 대한 범용 방송수신 동글 및 그 서비스 방법
US8707050B1 (en) * 2011-12-23 2014-04-22 Emc Corporation Integrity self-check of secure code within a VM environment using native VM code
KR101335512B1 (ko) 2012-01-20 2013-12-02 주식회사 인프라웨어테크놀러지 안드로이드 기반의 공용 플랫폼을 탑재한 m2m 라우터 장치
US9218103B2 (en) * 2012-09-19 2015-12-22 Shenzhen Coocaa Network Technology Co. Ltd. 3D interface implementation method and system based on the android system
KR101427561B1 (ko) * 2013-05-16 2014-08-07 주식회사 인프라웨어테크놀러지 안드로이드 어플리케이션의 타이젠 설치가능 패키지 자동변환을 이용한 적응 실행 방법 및 이를 위한 컴퓨터로 판독가능한 기록매체
CN103530165B (zh) * 2013-09-06 2016-06-15 北京雅鲁藏布科技有限公司 一种应用于物联网行业的java解决方案
US9934128B2 (en) 2013-11-14 2018-04-03 Red Hat, Inc. Dynamic per-method probing during runtime
KR101577285B1 (ko) * 2014-01-14 2015-12-14 호서대학교 산학협력단 유헬스 애플리케이션 개발을 위한 안드로이드 기반 센서 추상화 장치
EP3111321A4 (en) * 2014-02-24 2017-08-23 Sierra Wireless, Inc. Wireless device customization resources
CN104123162B (zh) * 2014-07-29 2017-06-16 北京奇虎科技有限公司 控制应用程序自启的方法及装置
CN105373718A (zh) * 2014-08-25 2016-03-02 中兴通讯股份有限公司 虚拟机运行处理方法及装置
KR101606021B1 (ko) * 2014-10-24 2016-03-24 주식회사 모비데이즈 어플리케이션 내부검색방법 및 시스템
US9764837B2 (en) * 2014-11-14 2017-09-19 Top Flight Technologies, Inc. Micro hybrid generator system drone
KR101659494B1 (ko) * 2015-04-07 2016-09-23 주식회사 위시링크 서버에서 관리 가능한 네이티브 어플리케이션 제공 방법 및 그 어플리케이션
KR101648402B1 (ko) * 2015-04-30 2016-08-16 (주) 카피앤패이스트 어플리케이션 처리 시스템
US10019298B2 (en) 2016-08-17 2018-07-10 Google Llc Middleware interface and middleware interface generator
KR102367725B1 (ko) * 2017-08-10 2022-02-28 주식회사 드림에이스 차량 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030181193A1 (en) * 2002-02-15 2003-09-25 Lars Wilhelmsson Middleware services layer for platform system for mobile terminals
US20070240171A1 (en) * 2006-03-29 2007-10-11 Nokia Corporation Device, Method, And Computer Program Product For Accessing A Non-Native Application Executing In Virtual Machine Environment
KR100842084B1 (ko) * 2007-04-03 2008-06-30 (주)엔타즈 모바일 단말기에 계층적 구조로 탑재되는 어플리케이션 및모바일 단말기에서의 그 실행 방법
RU2339076C2 (ru) * 2004-03-01 2008-11-20 Квэлкомм Инкорпорейтед Выполнение неверифицированных программ в операционной среде устройства радиосвязи

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7738863B2 (en) * 2005-08-25 2010-06-15 Nokia Corporation IP datacasting middleware
US20090172657A1 (en) * 2007-12-28 2009-07-02 Nokia, Inc. System, Method, Apparatus, Mobile Terminal and Computer Program Product for Providing Secure Mixed-Language Components to a System Dynamically

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030181193A1 (en) * 2002-02-15 2003-09-25 Lars Wilhelmsson Middleware services layer for platform system for mobile terminals
RU2339076C2 (ru) * 2004-03-01 2008-11-20 Квэлкомм Инкорпорейтед Выполнение неверифицированных программ в операционной среде устройства радиосвязи
US20070240171A1 (en) * 2006-03-29 2007-10-11 Nokia Corporation Device, Method, And Computer Program Product For Accessing A Non-Native Application Executing In Virtual Machine Environment
KR100842084B1 (ko) * 2007-04-03 2008-06-30 (주)엔타즈 모바일 단말기에 계층적 구조로 탑재되는 어플리케이션 및모바일 단말기에서의 그 실행 방법

Also Published As

Publication number Publication date
EP2511815A1 (en) 2012-10-17
US8555280B2 (en) 2013-10-08
CA2768752C (en) 2015-02-24
EP2511815A4 (en) 2014-01-22
CA2768752A1 (en) 2011-06-16
JP2012528374A (ja) 2012-11-12
JP5694301B2 (ja) 2015-04-01
KR100989613B1 (ko) 2010-10-26
WO2011071202A1 (ko) 2011-06-16
US20120023496A1 (en) 2012-01-26

Similar Documents

Publication Publication Date Title
RU2486579C2 (ru) Устройство терминала, имеющее основанную на виртуальной машине (vm) структуру уровней для выполнения разнородных приложений
JP7018463B2 (ja) アプリケーションコンテナを使用するコードおよび従属データの送達の管理
KR101015573B1 (ko) Rtos 기반의 안드로이드 어플리케이션 실행 장치
KR101566093B1 (ko) 웹톱 애플리케이션 트레이에 안드로이드 애플리케이션 런처를 디스플레이하는 시스템 및 방법
KR102193404B1 (ko) 상호작용 개발 환경으로부터의 소프트웨어 아티팩트의 점진적 컴파일링 기법
US10592218B2 (en) Dynamic data and compute resource elasticity
US8863077B2 (en) Build system redirect
EP1949229A2 (en) Unified mobile platform
KR101702366B1 (ko) 동적으로 확장 가능한 기능을 제공하는 스토리지 장치 및 그것의 동작 방법
KR101249735B1 (ko) 범용 운영체제 상에서 안드로이드 어플리케이션을 실행하기 위한 단말장치 및 방법, 그리고 이를 위한 컴퓨터로 판독가능한 기록매체
US10521216B2 (en) Unified extensible firmware interface updates
CN115421787A (zh) 指令执行方法、装置、设备、系统、程序产品及介质
US20190310874A1 (en) Driver management method and host
US9047134B2 (en) System and method for increasing the capabilities of a mobile device
JP2015197916A (ja) 複数のオペレーティングシステムを動作させる方法および電子装置
TWI447647B (zh) 用於執行機器人應用程序的終端裝置
KR20100062148A (ko) 이동 통신 단말기 및 이의 펌웨어 업데이트 방법
Xu et al. Condroid: a container-based virtualization solution adapted for android devices
CN112313620A (zh) 安卓系统启动的方法、装置、设备及存储介质
CN107220101B (zh) 一种容器创建方法和装置
Chandrashekar et al. Comparative Analysis of Modern Mobile Operating Systems
CN117555558A (zh) 一种在嵌入式Linux操作系统上运行Android应用的方法
KR20150017598A (ko) 휴대 단말기에서 시스템 호출 제어 장치 및 방법
TWI634481B (zh) 應用程式拼裝方法和系統
CN117785221A (zh) 一种应用程序安装方法及电子设备

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20151212