JP5694301B2 - 非アンドロイドプラットフォームにおいてアンドロイドアプリケーションを実行する端末装置、および非アンドロイドプラットフォームにおいてアンドロイドアプリケーションを実行するプログラムを記録したコンピュータ読み取り可能な記録媒体 - Google Patents

非アンドロイドプラットフォームにおいてアンドロイドアプリケーションを実行する端末装置、および非アンドロイドプラットフォームにおいてアンドロイドアプリケーションを実行するプログラムを記録したコンピュータ読み取り可能な記録媒体 Download PDF

Info

Publication number
JP5694301B2
JP5694301B2 JP2012512939A JP2012512939A JP5694301B2 JP 5694301 B2 JP5694301 B2 JP 5694301B2 JP 2012512939 A JP2012512939 A JP 2012512939A JP 2012512939 A JP2012512939 A JP 2012512939A JP 5694301 B2 JP5694301 B2 JP 5694301B2
Authority
JP
Japan
Prior art keywords
module
layer
application
native
platform
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2012512939A
Other languages
English (en)
Other versions
JP2012528374A (ja
Inventor
カク、ミン−チョル
リュ、ヒョク−ゴン
イム、ドン−ヨン
シン、グァン−チョル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infraware Technology Inc
Original Assignee
Infraware Technology Inc
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 Infraware Technology Inc filed Critical Infraware Technology Inc
Publication of JP2012528374A publication Critical patent/JP2012528374A/ja
Application granted granted Critical
Publication of JP5694301B2 publication Critical patent/JP5694301B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • 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

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)

Description

本発明は、異種アプリケーション実行のための仮想マシン基盤の階層構造を有する端末技術に関し、特に、グーグル(登録商標)のアンドロイド(登録商標)アプリケーションを、アンドロイド端末ではない、他のプラットフォームで動作する端末で実行させることができるように、アンドロイドフレームワークを、低スペックの簡易化されたデバイスに最適化させ、端末プラットフォームとミドルウェアとを接続するポーティング層を備え、ダルビック(dalvik、登録商標)仮想マシンをシングルタスク上で実行されるように再構成した仮想マシンを含む端末技術に関する。
グーグルアンドロイドプラットフォームとは、グーグル社が主導するOHA(Open Handset Alliance)で公開したソフトウェアスタックで、Linux(登録商標)カーネル、仮想マシン、フレームワーク、アプリケーションをすべて含むソフトウェアパッケージを意味する。
グーグルアンドロイドプラットフォームは、主に解像度800×480のWVGA(wide VGA)クラスの大画面のディスプレイと、タッチスクリーン入力を提供する高スペックのスマートフォン端末とにのみ適用可能である。
グーグルアンドロイドアプリケーションを実行させるためには、端末装置にアンドロイドの全てのソフトウェアスタックを適用しなければならない。アンドロイドソフトウェアスタックは、Linuxカーネルを含み、システムデーモンのような基本サービスを多数含んでいるため、高スペックのハイエンドスマートフォンに好適なプラットフォームである。
したがって、アンドロイドアプリケーションは、高スペックのスマートフォンでしか実行させることができないという制約が伴うことから、他のプラットフォームで動作する一般のフィーチャーフォンではアンドロイドアプリケーションを実行させることができないという問題があった。
本発明の目的は、グーグルアンドロイドプラットフォームが設けられた高スペックのスマートフォンではない、より低いハードウェア仕様の一般の端末装置でもグーグルアプリケーションを実行させることができ、且つ一般の端末装置のプラットフォームによって支援されるネイティブアプリケーションも実行可能である、異種アプリケーション実行のための仮想マシン基盤の階層構造を有する端末技術を提供することである。
本発明の実施形態にかかる異種アプリケーション実行のための仮想マシン基盤の階層構造を有する端末装置は、第1のアプリケーションおよび第2のアプリケーションを含むアプリケーション層モジュールと、端末プロセッサに接続され、第1のアプリケーションを動作させるプラットフォーム層モジュールと、プラットフォーム層モジュールと第2のアプリケーションとを媒介するミドルウェアモジュールとを含んで構成され、ミドルウェアモジュールは、第2のアプリケーションを実行させるのに必要なクラスライブラリを備えるアプリケーションフレームワークモジュール、およびJavaAPIを提供するコアクラスライブラリモジュールを含むクラスライブラリ層モジュールと、クラスライブラリとJavaAPIとを介して第2のアプリケーションを動作させる仮想マシンを含み、アプリケーションフレームワークモジュールのライブラリを実現するための基盤となるネイティブライブラリを備えるネイティブライブラリ層モジュールと、ネイティブライブラリ層モジュールとプラットフォーム層モジュールとを接続し、プラットフォーム層モジュールを介して端末のハードウェアを管理する機能を提供するポーティング層モジュールとを含んで構成される。
また、本発明の実施形態にかかる異種アプリケーション実行のための仮想マシン基盤の階層構造を有する端末装置において、第1のアプリケーションは、ネイティブアプリケーションであり、第2のアプリケーションは、アンドロイドアプリケーションであり、仮想マシンは、ダルビック(Dalvik)仮想マシンであることが好ましい。
さらに、本発明の実施形態にかかる異種アプリケーション実行のための仮想マシン基盤の階層構造を有する端末装置において、仮想マシンは、ポーティング層モジュールを介してプラットフォーム層モジュールと連動してシングルタスクで動作することが好ましい。
また、本発明の実施形態にかかる異種アプリケーション実行のための仮想マシン基盤の階層構造を有する端末装置において、仮想マシンは、スレッド管理モジュール、動的ライブラリ管理モジュール、外部関数インターフェース、同期化モジュール、メモリ管理モジュールのうちの1つ以上のプラットフォーム独立型モジュールを含み、ポーティング層モジュールを介してプラットフォーム層モジュールと連動して動作することが好ましい。
さらに、本発明の実施形態にかかる異種アプリケーション実行のための仮想マシン基盤の階層構造を有する端末装置において、ポーティング層モジュールは、ファイルシステム、メモリ割り当てモジュール、ネットワークモジュール、基本ライブラリ、タイマー、デバイス制御モジュールのうちの1つ以上のハードウェア管理モジュールを含み、端末装置の当該ハードウェアにアクセスして管理、制御することが好ましい。
また、本発明の実施形態にかかる異種アプリケーション実行のための仮想マシン基盤の階層構造を有する端末装置において、ネイティブライブラリ層モジュールは、ポーティング層モジュールのハードウェア管理モジュールと連動して動作する1つ以上のネイティブライブラリを備えることが好ましい。
さらに、本発明の実施形態にかかる異種アプリケーション実行のための仮想マシン基盤の階層構造を有する端末装置において、アプリケーションフレームワークモジュールは、電話サービス、位置サービス、ブルートゥースサービス、WIFIサービス、USBサービス、センササービスのうちの1つ以上のサービスモジュールを含み、第2のアプリケーションの実行によって当該サービスをバックグラウンドで実行させることが好ましい。
本発明によれば、グーグルアンドロイドアプリケーションを、グーグルアンドロイドプラットフォームの端末のみならず、他のオペレーティングシステムで動作する端末でも実行させることができる。従って、アンドロイドアプリケーションをより多くの端末を介して提供することにより、多様な付加価値を創出するという効果を有する。
また、アンドロイドプラットフォームを簡易化することにより、高スペックのスマートフォンではない、低スペックの一般のフィーチャーフォンを介してアンドロイドアプリケーションを提供することができるという効果を有する。
本発明にかかる異種アプリケーション実行のための仮想マシン基盤の階層構造を有する端末装置100の全体構成を概略的に示すブロック図である。 図1におけるミドルウェアモジュール20の構成をより詳細に示すブロック図である。 図2におけるクラスライブラリ層モジュール21およびネイティブライブラリ層モジュール22の左側の構成を拡大して示すブロック図である。 図2におけるクラスライブラリ層モジュール21およびネイティブライブラリ層モジュール22の右側の構成を拡大して示すブロック図である。
以下、本発明の実施形態を添付図面を参照して詳細に説明する。
図1は、本発明にかかる異種アプリケーション実行のための仮想マシン基盤の階層構造を有する端末装置100の全体構成を概略的に示すブロック図である。
端末装置100は、大別して、アプリケーション層モジュール10と、ミドルウェアモジュール20と、プラットフォーム層モジュール30と、端末プロセッサ40と、端末ハードウェア50とを含んで構成される。
このとき、端末装置100は、一般的に、携帯電話、MP3などのモバイル装置を意味するが、その他にも、端末プロセッサ40によってプラットフォーム基盤で動作する一般的な端末装置をすべて含むことができる。
まず、アプリケーション階層モジュール10は、第1のアプリケーションおよび第2のアプリケーションを含むが、ここで、第1のアプリケーションは、端末装置のプラットフォームで直ちに実行可能なネイティブアプリケーションであり、第2のアプリケーションは、ポーティング層と仮想マシンが備えられたミドルウェアを介して実行される追加のアプリケーションである。
例えば、LG社(登録商標)製のWISEプラットフォーム基盤のモバイル端末の場合、WISEプラットフォーム基盤で動作するネイティブアプリケーションが第1のアプリケーションに相当し、グーグルアンドロイドアプリケーションが第2のアプリケーションに相当する。
プラットフォーム層モジュール30は、端末プロセッサ40に接続され、第1のアプリケーションを動作させる。
ミドルウェアモジュール20は、プラットフォーム層モジュール30とアプリケーション層モジュール10との間に位置し、アプリケーション層モジュール10に備えられた第2のアプリケーションを媒介する。
このとき、ミドルウェアモジュール20には、第2のアプリケーションを実行させることができるように仮想マシンとライブラリが備えられ、且つプラットフォーム層と接続できるようにポーティング層が備えられる。ミドルウェアモジュール20の具体的な細部事項については、以下、図2〜図4の説明によってさらに詳細に説明する。
端末プロセッサ40は、中央処理装置であって、モバイル端末の場合は、多様なマルチメディアと通信することができ、かつ、簡易化されたモバイル専用プロセッサが使用可能である。
端末ハードウェア50は、端末装置を構成する画面出力部、オーディオ出力部、ユーザ入力部などを含む。
図2は、図1におけるミドルウェアモジュール20の構成を詳細に示すブロック図である。
ミドルウェアモジュール20は、各階層ごとに、クラスライブラリ層21と、ネイティブライブラリ層22と、ポーティング層23とに区分することができる。このとき、各階層は、下層にいくほど物理層に近くなり、最下層のポーティング層23は、プラットフォーム層30に隣接し、最上層のクラスライブラリ層21は、アプリケーション層10に隣接する。
クラスライブラリ層モジュール21は、第2のアプリケーションを実行させるのに必要なクラスライブラリを備えるアプリケーションフレームワークモジュール21−2と、Java(登録商標)APIを提供するコアクラスライブラリモジュール21−1とを含む。
実際の実現例として、アプリケーションフレームワークモジュール21−2は、グーグルアンドロイドプラットフォームにおいてアプリケーションフレームワーク層を修正または再使用して用いる。グーグルアンドロイドのアプリケーションフレームワーク層には、アンドロイドアプリケーションを実行させるのに必要なクラスライブラリやサービスが備えられている。このとき、一部のサービスは、アプリケーションの互換に必要ないことから、簡易化のために除去可能である。
また、コアクラスライブラリモジュール21−1は、グーグルアンドロイドプラットフォームにおいてアンドロイドランタイムに属するコアライブラリを再使用する。アンドロイドのコアライブラリには、Java言語でプログラミングを行うための基本的なJavaAPIが備えられる。
ネイティブライブラリ層モジュール22は、アプリケーションフレームワークモジュール21−2に備えられたクラスライブラリと、コアクラスライブラリモジュール21−1に備えられたJavaAPIとを介して、アプリケーション層10に位置する第2のアプリケーションを動作させる仮想マシン22−1を含む。さらに、ネイティブライブラリ層モジュール22には、アプリケーションフレームワークモジュール21−2のライブラリを実現するための基盤となるネイティブライブラリ22−2を備える。
実際の実現例として、仮想マシン22−1は、グーグルアンドロイドプラットフォームのダルビック仮想マシンを修正して用いる。つまり、既存のダルビック仮想マシンからLinuxに依存的なモジュールを除去し、他のプラットフォームで提供していない機能を追加し、シングルタスク上においても実行できる構造として仮想マシンを再構成して用いる。
また、ネイティブライブラリ22−2は、グーグルアンドロイドプラットフォームのアプリケーションフレームワーク層の下に位置するライブラリを再使用する。このとき、ネイティブライブラリ22−2は、ほとんどが公開ソース基盤のソフトウェアを使用しており、これを必要に応じて修正、ポーティングしてネイティブライブラリ層モジュール22に配置する。
ポーティング層モジュール23は、ネイティブライブラリ層モジュール22とプラットフォーム層モジュール30とを接続し、プラットフォーム層モジュール30を介して端末のハードウェアを管理する機能を提供する。
つまり、ポーティング層モジュール23は、他のオペレーティングシステムに容易に移植することができるように、オペレーティングシステムに依存的なコードを整理した階層であって、ファイルシステム、メモリ割り当て、ネットワーク、基本ライブラリ(stdio、stdlib、mathなど)、タイマー、デバイス制御(ディスプレイ、メディア、入力装置、3Dなど)、その他ユーティリティなどのハードウェア管理モジュールを含む。
そして、ポーティング層モジュール23は、前記ハードウェア管理モジュールを介して端末装置100の当該ハードウェアにアクセスして、これを管理、制御する。
例えば、ポーティング層モジュール23には、カーネル(DLL、pthread、etc)、システム(ファイル、メモリ、ソケット、stdio、stdlib、string、math、時間)、装置(フレームバッファ、メディア、インプット、3D、etc)、Utils(ログ、デバッグ、etc)などが備えられる。
第1のアプリケーションマネージャ60および第2のアプリケーションマネージャ70は、それぞれ当該アプリケーションをダウンロード、自動アップグレード、削除するといった多様な管理機能を提供する。
図3は、図2におけるクラスライブラリ層モジュール21およびネイティブライブラリ層モジュール22の左側の構成を拡大して示すブロック図である。
仮想マシン22−1は、ダルビック仮想マシンを修正したものである。ダルビック仮想マシンは、グーグルアンドロイドプラットフォームで提供する仮想マシンであり、Java仮想マシンより小さいメモリ環境で動作することができるように、Java仮想マシンとやや相違する概念で作られた仮想マシンを意味する。
仮想マシン22−1は、pthreadのようなスレッド管理モジュール、共用オブジェクトやDLLのような動的ライブラリ管理モジュール、外部関数インターフェース(FFI:foreign function interface)、同期化モジュール、メモリ管理モジュールなどを含む。
前記仮想マシン22−1に含まれたモジュールは、プラットフォーム独立型モジュールである。仮想マシン22−1は、既存のアンドロイドのLinux依存的機能から脱してプラットフォームに影響を受けずに、ポーティング層モジュール23を介してプラットフォーム層モジュール30と連動して動作する。
また、仮想マシン22−1は、端末装置100に合わせてメモリ管理が行われるように、既存のダルビック仮想マシンを修正して構成される。
その他にも、仮想マシン22−1は、マルチタスキングを支援することなく、シングルタスクで動作する端末装置100でも動作することができるように、既存のダルビック仮想マシンを修正してシングルタスクで動作が可能である。つまり、仮想マシン22−1は、ポーティング層モジュール23を介してプラットフォーム層モジュール30と連動してシングルタスクで動作する。
コアクラスライブラリ21−1は、前述したように、Java言語でプログラミングを行うための基本的なJavaAPIを提供する。
ネイティブライブラリ22−2は、上位層のライブラリを実現するための基盤となり、Linux以外の他のプラットフォームに合わせてポーティングされて備えられる。
図4は、図2におけるクラスライブラリ層モジュール21およびネイティブライブラリ層モジュール22の右側の構成を拡大して示すブロック図である。
前述した図3に続いて、ネイティブライブラリ層モジュール22には、ポーティング層モジュール23のハードウェア管理モジュールと連動して動作する多様なネイティブライブラリ22−2を備える。
アプリケーションフレームワークモジュール21−2には、電話サービス、位置サービス、ブルートゥースサービス、WIFIサービス、USBサービス、センササービスなどの多様なサービスモジュールが含まれることが可能である。このとき、サービスモジュールで提供するサービスは、全体のシステム内においてサーバまたはデーモンのような役割を果たし、第2のアプリケーションの実行によって当該サービスをバックグラウンドで実行させる。
各サービスモジュールは、必要に応じて修正されて備えられ、簡易化のために無駄なサービスモジュールは除去される。
以上の説明は、本発明の技術思想を例示的に説明したものにすぎず、本発明の属する技術分野における通常の知識を有する者であれば、本発明の本質的な特性から逸脱しない範囲で多様な修正および変形が可能である。したがって、本発明に開示された実施形態は、本発明の技術思想を限定するためのものではなく、説明するためのものであり、このような実施形態により本発明の技術思想の範囲が限定されるものではない。本発明の保護範囲は、下記の請求の範囲によって解釈されなければならず、それと同等の範囲内にあるすべての技術思想は、本発明の権利範囲に属するものと解釈されなければならない。

Claims (6)

  1. 非アンドロイドプラットフォームにおいてアンドロイドアプリケーションを実行する端末装置であって、
    少なくとも一つのアンドロイドアプリケーションを含むアプリケーション層モジュールと、
    前記端末装置のハードウェアリソースを動作させる前記非アンドロイドプラットフォームのネイティブプラットフォーム層モジュールと、
    前記ネイティブプラットフォーム層モジュールと前記アプリケーション層モジュールとを媒介し、クラスライブラリ層モジュールと、ネイティブライブラリ層モジュールと、ポーティング層モジュールとを備えるミドルウェアモジュールとを含んで構成され、
    前記クラスライブラリ層モジュールは、前記アンドロイドアプリケーションを実行させるのに必要なクラスライブラリを備えるアプリケーションフレームワークモジュール、およびJavaAPI(アプリケーション・プログラム・インターフェース)を提供するコアクラスライブラリモジュールを含み、
    前記ポーティング層モジュールは、前記ネイティブライブラリ層モジュールと前記ネイティブプラットフォーム層モジュールとを接続し、ファイルシステム、メモリ割り当てモジュール、ネットワークモジュール、基本ライブラリ、タイマー、デバイス制御モジュールのうちの1つ以上のハードウェア管理モジュールを含み、前記ハードウェア管理モジュールは、オペレーティングシステムを活用することにより、前記端末装置のハードウェアを管理するためのLinux標準APIを提供し、
    前記ネイティブライブラリ層モジュールは、仮想マシンおよびネイティブライブラリを含み、前記仮想マシンは、前記クラスライブラリと前記クラスライブラリ層モジュールに備えられた前記JavaAPIとを介した前記アンドロイドアプリケーションの実行にあたり、前記ポーティング層モジュールで提供する前記Linux標準APIを介してハードウェアを使用し、前記仮想マシンは、該仮想マシンに含まれ、かつプラットフォーム独立型モジュールであるスレッド管理モジュール、動的ライブラリ管理モジュール、他言語関数インターフェース、同期モジュール、メモリ管理モジュールを用いて、前記アンドロイドアプリケーションを、Linuxではない、前記ネイティブプラットフォーム層モジュールを介して実行するように構成され、前記ネイティブライブラリは、前記アプリケーションフレームワークモジュールのクラスライブラリを実現するために用いられ、
    前記仮想マシンは、前記プラットフォーム独立型モジュールにより既存のアンドロイドのLinux依存的機能から脱してプラットフォームに影響を受けずに、前記ポーティング層モジュールを介して前記ネイティブプラットフォーム層モジュールと連動してシングルタスクで動作することを特徴とする、端末装置。
  2. 前記ネイティブライブラリ層モジュールは、前記ポーティング層モジュールのハードウェア管理モジュールと連動して動作する1つ以上のネイティブライブラリを備えることを特徴とする、請求項1に記載の端末装置。
  3. 前記アプリケーションフレームワークモジュールは、電話サービス、位置サービス、ブルートゥースサービス、WIFIサービス、USBサービス、センササービスのうちの1つ以上のサービスモジュールを含み、前記アンドロイドアプリケーションの実行によって当該サービスをバックグラウンドで実行することを特徴とする、請求項2に記載の端末装置。
  4. 非アンドロイドプラットフォームにおいてアンドロイドアプリケーションを端末装置のコンピュータに実行させるプログラムを記録した非一時的コンピュータ読み取り可能な記録媒体であって、
    前記プログラムは、コンピュータを
    少なくとも一つのアンドロイドアプリケーションを含むアプリケーション層手段と、
    前記端末装置のハードウェアリソースを動作させる前記非アンドロイドプラットフォームのネイティブプラットフォーム層手段と、
    前記ネイティブプラットフォーム層手段と前記アプリケーション層手段とを媒介し、クラスライブラリ層手段と、ネイティブライブラリ層手段と、ポーティング層手段とを備えるミドルウェア手段として機能させ、
    前記クラスライブラリ層手段は、前記アンドロイドアプリケーションを実行させるのに必要なクラスライブラリを備えるアプリケーションフレームワーク手段、およびJavaAPI(アプリケーション・プログラム・インターフェース)を提供するコアクラスライブラリ手段を含み、
    前記ポーティング層手段は、前記ネイティブライブラリ層手段と前記ネイティブプラットフォーム層手段とを接続し、ファイルシステム、メモリ割り当て手段、ネットワーク手段、基本ライブラリ、タイマー、デバイス制御手段のうちの1つ以上のハードウェア管理手段を含み、前記ハードウェア管理手段は、オペレーティングシステムを活用することにより、前記端末装置のハードウェアを管理するためのLinux標準APIを提供し、
    前記ネイティブライブラリ層手段は、仮想マシンおよびネイティブライブラリを含み、前記仮想マシンは、前記クラスライブラリと前記クラスライブラリ層手段に備えられた前記JavaAPIとを介した前記アンドロイドアプリケーションの実行にあたり、前記ポーティング層手段で提供する前記Linux標準APIを介してハードウェアを使用し、前記仮想マシンは、該仮想マシンに含まれ、かつプラットフォーム独立型手段であるスレッド管理手段、動的ライブラリ管理手段、他言語関数インターフェース、同期手段、メモリ管理手段を用いて、前記アンドロイドアプリケーションを、Linuxではない、前記ネイティブプラットフォーム層手段を介して実行されるように構成され、前記ネイティブライブラリは、前記アプリケーションフレームワーク手段のクラスライブラリを実現するために用いられ、
    前記仮想マシンは、前記プラットフォーム独立型手段により既存のアンドロイドのLinux依存的機能から脱してプラットフォームに影響を受けずに、前記ポーティング層手段を介して前記ネイティブプラットフォーム層手段と連動してシングルタスクで動作することを特徴とする、記録媒体。
  5. 前記ネイティブライブラリ層手段は、前記ポーティング層手段のハードウェア管理手段と連動して動作する1つ以上のネイティブライブラリを備えることを特徴とする、請求項4に記載の記録媒体。
  6. 前記アプリケーションフレームワーク手段は、電話サービス、位置サービス、ブルートゥースサービス、WIFIサービス、USBサービス、センササービスのうちの1つ以上のサービス手段を含み、前記アンドロイドアプリケーションの実行によって当該サービスをバックグラウンドで実行することを特徴とする、請求項5に記載の記録媒体。
JP2012512939A 2009-12-08 2009-12-11 非アンドロイドプラットフォームにおいてアンドロイドアプリケーションを実行する端末装置、および非アンドロイドプラットフォームにおいてアンドロイドアプリケーションを実行するプログラムを記録したコンピュータ読み取り可能な記録媒体 Expired - Fee Related JP5694301B2 (ja)

Applications Claiming Priority (3)

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

Publications (2)

Publication Number Publication Date
JP2012528374A JP2012528374A (ja) 2012-11-12
JP5694301B2 true JP5694301B2 (ja) 2015-04-01

Family

ID=43135767

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012512939A Expired - Fee Related JP5694301B2 (ja) 2009-12-08 2009-12-11 非アンドロイドプラットフォームにおいてアンドロイドアプリケーションを実行する端末装置、および非アンドロイドプラットフォームにおいてアンドロイドアプリケーションを実行するプログラムを記録したコンピュータ読み取り可能な記録媒体

Country Status (7)

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

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 주식회사 케이티 상이한 동작 환경에서 제공되는 서비스를 상이한 단말기에서 실행시키기 위한 장치
KR101249735B1 (ko) 2011-04-04 2013-04-03 주식회사 인프라웨어테크놀러지 범용 운영체제 상에서 안드로이드 어플리케이션을 실행하기 위한 단말장치 및 방법, 그리고 이를 위한 컴퓨터로 판독가능한 기록매체
WO2012138046A1 (ko) * 2011-04-04 2012-10-11 주식회사 인프라웨어테크놀러지 범용 운영체제 상에서 안드로이드 어플리케이션을 실행하기 위한 단말장치 및 방법, 그리고 이를 위한 컴퓨터로 판독가능한 기록매체
KR101290565B1 (ko) * 2011-09-20 2013-07-31 주식회사 인프라웨어테크놀러지 안드로이드 앱의 행위정보 동적분석 에뮬레이터 및 이를 포함하는 행위정보 동적분석 시스템, 그리고 안드로이드 앱의 행위정보 동적분석 프로그램이 기록된 컴퓨터 판독 가능한 기록매체
US8707050B1 (en) * 2011-12-23 2014-04-22 Emc Corporation Integrity self-check of secure code within a VM environment using native VM code
KR101291690B1 (ko) * 2011-12-23 2013-08-01 전자부품연구원 스마트 단말기에 대한 범용 방송수신 동글 및 그 서비스 방법
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
WO2019031630A1 (ko) * 2017-08-10 2019-02-14 주식회사 드림에이스 차량 시스템

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7415270B2 (en) * 2002-02-15 2008-08-19 Telefonaktiebolaget L M Ericsson (Publ) Middleware services layer for platform system for mobile terminals
US8549166B2 (en) * 2004-03-01 2013-10-01 Qualcomm Incorporated Execution of unverified programs in a wireless, device operating environment
US7738863B2 (en) 2005-08-25 2010-06-15 Nokia Corporation IP datacasting middleware
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 (주)엔타즈 모바일 단말기에 계층적 구조로 탑재되는 어플리케이션 및모바일 단말기에서의 그 실행 방법
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

Also Published As

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

Similar Documents

Publication Publication Date Title
JP5694301B2 (ja) 非アンドロイドプラットフォームにおいてアンドロイドアプリケーションを実行する端末装置、および非アンドロイドプラットフォームにおいてアンドロイドアプリケーションを実行するプログラムを記録したコンピュータ読み取り可能な記録媒体
KR101015573B1 (ko) Rtos 기반의 안드로이드 어플리케이션 실행 장치
US11853820B2 (en) Cross-process communication method, apparatus, and device
EP3223151A1 (en) Hot-handover method and device for operating systems, and mobile terminal
WO2016160204A1 (en) Application container for live migration of mobile applications
JP2000029713A (ja) 拡張可能なアプリケ―ションのためのフレ―ムワ―クの実現技術
CN110780930B (zh) 启动Android系统的方法、装置、电子设备及存储介质
JP2017146966A (ja) パッケージファイルに対する機能拡張方法およびシステム
Andrus et al. Cider: Native execution of ios apps on android
KR101249735B1 (ko) 범용 운영체제 상에서 안드로이드 어플리케이션을 실행하기 위한 단말장치 및 방법, 그리고 이를 위한 컴퓨터로 판독가능한 기록매체
WO2012138046A1 (ko) 범용 운영체제 상에서 안드로이드 어플리케이션을 실행하기 위한 단말장치 및 방법, 그리고 이를 위한 컴퓨터로 판독가능한 기록매체
CN102262555B (zh) 加载java三方库的不同版本的方法和装置
KR20120071060A (ko) 동적으로 확장 가능한 기능을 제공하는 스토리지 장치 및 그것의 동작 방법
Khan et al. Android Architecture and Related Security Risks
CN109240733A (zh) 一种基于安卓系统更新广告sdk的方法及终端
CN112131208A (zh) 全量数据迁移方法、装置、设备及计算机可读存储介质
CN103530165B (zh) 一种应用于物联网行业的java解决方案
WO2021239073A1 (zh) 物联网操作系统构建方法、系统、云平台及物联网设备
TWI447647B (zh) 用於執行機器人應用程序的終端裝置
US20130263126A1 (en) System and method for increasing the capabilities of a mobile device
WO2012015083A1 (ko) Rtos 기반의 안드로이드 어플리케이션 실행 장치
CN106775608B (zh) 独立系统进程的实现方法和装置
WO2021097683A1 (zh) 安卓系统启动的方法、装置、设备及存储介质
WO2021129853A1 (zh) 移动服务升级方法、装置和终端
Chandrashekar et al. Comparative Analysis of Modern Mobile Operating Systems

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130604

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130903

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130910

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140401

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140630

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140707

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141215

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150120

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150204

R150 Certificate of patent or registration of utility model

Ref document number: 5694301

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees