JP2009093601A - Virtual machine - Google Patents
Virtual machine Download PDFInfo
- Publication number
- JP2009093601A JP2009093601A JP2007285541A JP2007285541A JP2009093601A JP 2009093601 A JP2009093601 A JP 2009093601A JP 2007285541 A JP2007285541 A JP 2007285541A JP 2007285541 A JP2007285541 A JP 2007285541A JP 2009093601 A JP2009093601 A JP 2009093601A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- software
- commercially available
- application software
- virtual machine
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
Description
本発明は、バーチャルマシンに関するものである。 The present invention relates to a virtual machine.
携帯電話機やコンピュータ、家電等の異なるハードウェアプラットフォームにおいては、ハードウェアのリソースやオペレーティングシステムなどの基本ソフトウェアが異なっている。このように、異なるハードウェアプラットフォーム上で動作するアプリケーションソフトウェアを提供するためには、それぞれのハードウェアプラットフォームに合わせたアプリケーションソフトウェアを開発する必要があり、開発コストと開発の手間が生じていた。このため、異なるハードウェアプラットフォーム間の仕様差を吸収する目的で搭載されているバーチャルマシンが存在する。
しかしながら、携帯電話機やパソコンや家電などにおいて動作するバーチャルマシンは複数存在し、これらのバーチャルマシンの仕様は統一されていない。このため、バーチャルマシンが存在するハードウェアプラットフォームであっても、それぞれのバーチャルマシンに合わせたアプリケーションソフトウェアを開発する開発コストと開発の手間が発生し、開発利便性が阻害されていた。
携帯電話や家電などにおいては、利用可能なメモリがパソコンと比較し著しく少なく、搭載しているCPUの速度も遅いことなどから、同時に複数のアプリケーションソフトウェアが起動できないものが存在し、ユーザに不便を強いている。
また、ネットワークを使用するアプリケーションソフトウェアにおいては、ユーザの個人情報がユーザが意図しないままに流出してしまう危険性が存在する。
本発明が解決しようとする課題は、仕様の異なるバーチャルマシンが動作する種々のハードウェアプラットフォーム上において共通のアプリケーションソフトウェアを動作させることである。However, there are a plurality of virtual machines that operate in mobile phones, personal computers, home appliances, etc., and the specifications of these virtual machines are not unified. For this reason, even in a hardware platform where virtual machines exist, development costs and development efforts for developing application software tailored to each virtual machine are generated, which hinders development convenience.
Some mobile phones, home appliances, etc. have significantly less available memory than PCs, and the speed of the installed CPU is slow. Some applications cannot be started at the same time, causing inconvenience to users. It is strong.
In addition, in application software that uses a network, there is a risk that the personal information of the user will be unintentionally leaked.
The problem to be solved by the present invention is to operate common application software on various hardware platforms on which virtual machines having different specifications operate.
本発明の態様によれば、種々の市販バーチャルマシンのいずれかが動作する市販バーチャルマシン動作部を備える種々のハードウェアプラットフォームのいずれかにおいて動作することにより、以下の各部を形成するバーチャルマシンが提供される。すなわち、種々のハードウェアプラットフォーム、種々の市販バーチャルマシンに共通のアプリケーションソフトウェアを追加・変更・削除するソフトウェアロード部と、1又は複数のアプリケーションソフトウェアを同時に起動するソフトウェア起動部と、同時に起動されているアプリケーションソフトウェアを切り替え、または連携させ、かつ、ユーザが意図しない操作を制限するソフトウェア動作制御部と、前記バーチャルマシンに適合され、前記ソフトウェアロード部、前記ソフトウェア起動部、前記ソフトウェア動作制御部のそれぞれと、前記市販バーチャルマシン動作部との間で、一方からの要求を他方によって処理される形態に変換して提供するインタフェース部とである。
本態様によれば、複数の異なるハードウェアプラットフォーム上で動作する仕様の異なる種々の市販バーチャルマシンのいずれかに適合され、前記ソフトウェアロード部、前記ソフトウェア起動部、前記ソフトウェア動作制御部のそれぞれと、前記市販バーチャルマシン動作部との間で、一方からの要求を他方によって処理される形態に変換して提供するインタフェース部が提供されるため、種々の市販バーチャルマシンが動作するハードウェアプラットフォーム上に、共通のアプリケーションソフトウェアを追加・変更・削除し、当該ハードウェアプラットフォーム上で共通のアプリケーションソフトウェアを起動し、共通のアプリケーションソフトウェアの動作を制御すること等が可能となる。According to an aspect of the present invention, there is provided a virtual machine that forms the following units by operating on any of various hardware platforms including a commercially available virtual machine operating unit on which any of various commercially available virtual machines operates. Is done. That is, the software loading unit that adds / changes / deletes application software common to various hardware platforms and various commercially available virtual machines and the software activation unit that activates one or a plurality of application softwares simultaneously are activated simultaneously. A software operation control unit that switches or links application software and restricts an operation that is not intended by the user, and is adapted to the virtual machine, and each of the software load unit, the software activation unit, and the software operation control unit And an interface unit that converts the request from one side into a form processed by the other side and provides it with the commercial virtual machine operation unit.
According to this aspect, it is adapted to any of various commercially available virtual machines having different specifications that operate on a plurality of different hardware platforms, and each of the software load unit, the software activation unit, and the software operation control unit, Since an interface unit is provided for converting and providing a request from one side to a form processed by the other between the commercial virtual machine operation unit, on a hardware platform on which various commercial virtual machines operate, It becomes possible to add / change / delete common application software, start the common application software on the hardware platform, and control the operation of the common application software.
図1は、異なるハードウェアプラットフォーム上で本実施の形態によるバーチャルマシン(以下、適合バーチャルマシンと称する)を用いてアプリケーションソフトウェアが動作する様子を概念的に示している。
図1において、携帯電話機やパソコンや家電などのハードウェアプラットフォーム1a、1b、1cにはハードウェアプラットフォームの仕様差を吸収するそれぞれ異なるバーチャルマシン(以下、市販バーチャルマシンと称する)2a、2b、2cが搭載されている。本実施形態においては、機能を実現する市販バーチャルマシン2a、2b、2cのそれぞれに適合され、市販バーチャルマシン間の仕様差を吸収する適合バーチャルマシン3a、3b、3cがそれぞれ提供される。これにより、アプリケーションソフトウェア4はいずれのハードウェアプラットフォーム1a、1b、1cにおいても同様に動作することができる。したがってアプリケーションソフトウェア4を容易に開発・提供することが可能となる。
図2は本実施形態に係る携帯電話機5とパソコン6と家電7において同一のアプリケーションソフトウェア8が動作していることを示す図である。同一のアプリケーションソフトウェア8は、携帯電話機5やパソコン6や家電7に搭載されているダウンロード機能などによって、提供される。
図3は本実施形態に係る任意のハードウェアプラットフォーム100を示すブロック図である。ハードウェアプラットフォーム100は、市販VM動作部110と、ソフトウェア保持部120と、適合VM動作部130とを備える。市販VM動作部110は、ハードウェアプラットフォームの仕様差を吸収する種々の市販バーチャルマシンのいずれかが動作する市販バーチャルマシン動作部である。
市販バーチャルマシンとしては、Java(登録商標)バーチャルマシンなどが知られている。ソフトウェア保持部120は、種々の市販バーチャルマシンに共通のアプリケーションソフトウェアを1または複数保持する。ソフトウェア保持部120には、不揮発メモリを用いることができる。アプリケーションソフトウェアとしては、スケジュール管理アプリケーションなどが挙げられる。適合VM動作部130は、本発明の態様により、複数の異なるハードウェアプラットフォーム上で動作する仕様の異なる種々の市販バーチャルマシンのいずれかに適合されるバーチャルマシンを動作させる。
適合VM動作部130は、適合VM用メモリ131と、ロード部133と、起動部135と、動作制御部137と、インタフェース部139とを備える。適合VM用メモリ131は、適合バーチャルマシンによって管理されるメモリ領域であって、アプリケーションソフトウェアが使用するデータの保持などに使われる。
ロード部133は、種々のハードウェアプラットフォーム、種々の市販バーチャルマシンに共通のアプリケーションソフトウェアを追加・変更・削除するソフトウェアロード部である。ロード部133は、図示しない入出力部を介してユーザから入力される命令や、アプリケーションソフトウェアからの要求等に応じて、アプリケーションソフトウェアをソフトウェア保持部から読み出し、適合VM用メモリ131にロードする。
起動部135は、1又は複数のアプリケーションソフトウェアを同時に起動するソフトウェア起動部である。起動部135は、図示されない入出力部を介してユーザから入力される命令や、アプリケーションソフトウェアからの要求などに応じて、適合VM用メモリ131にロードされたアプリケーションソフトウェアを起動させる。
動作制御部137は、同時に起動されているアプリケーションソフトウェアを切り替え、または連携させ、かつ、ユーザが意図しない操作を制限するソフトウェア動作制御部である。動作制御部137は、適合VM用メモリ131内で動作しているアプリケーションソフトウェアの動作を制御することによって、同時に起動されている1又は複数のアプリケーションソフトウェアを適切に管理する。
上記のロード部133と、起動部135と、動作制御部137とのそれぞれは、各処理において必要に応じて、後述するインタフェース部139を介して市販VM動作部110に要求を送信する。ロード部133と、起動部135と、動作制御部137から市販VM動作部110に送信される要求としては「画面にボタンを描画する」などが挙げられる。
インタフェース部139は、上記の市販VM動作部110と、ロード部133と、起動部135と、動作制御部137とのそれぞれと通信する。インタフェース部139は、市販バーチャルマシンに適合されており、ロード部133、起動部135、動作制御部137のそれぞれから、市販VM動作部110への要求を、市販VM動作部110によって処理される形態に変換して提供し、かつ、市販VM動作部110からの要求をロード部133、起動部135、動作制御部137によって処理される形態に変換して提供する。例えば、アプリケーションソフトウェアにおける「画面上へのボタン描画」の処理においては、インタフェース部139は、動作制御部137からの要求に伴って得られる、描画されるボタンの特性(ボタンサイズ、色等)を示すパラメータを市販VM動作部において実行可能な線分に変換し、線分描画、矩形描画の命令として市販VM動作部に提供する。
図4は本実施形態を示すフローチャートである。ステップ12aにおいて、ロード部133によってアプリケーションソフトウェアが適合VM用メモリ131にロードされる。ステップ12bにおいて、適合VM動作部130が、図示されない入出力部を介してユーザの入力を取得する。ステップ12cにおいて、起動部135によって、ロードされたアプリケーションソフトウェアを実行しようとする。ステップ12dにおいて、動作制御部137が、起動部135による操作がユーザによって意図されるものかどうか判定する。意図されるものであれば(OK)ステップ12fにおいて起動部135がアプリケーションソフトウェアを実行し、意図されるものでなければ(NG)アプリケーションソフトウェアは実行されずステップ12eに処理が遷移する。FIG. 1 conceptually shows how application software operates on a different hardware platform using a virtual machine according to the present embodiment (hereinafter referred to as a conforming virtual machine).
In FIG. 1, hardware platforms 1a, 1b, and 1c such as mobile phones, personal computers, and home appliances have different virtual machines (hereinafter referred to as commercially available virtual machines) 2a, 2b, and 2c that absorb differences in specifications of the hardware platforms. It is installed. In the present embodiment, adapted
FIG. 2 is a diagram showing that the
FIG. 3 is a block diagram illustrating an
A Java (registered trademark) virtual machine is known as a commercially available virtual machine. The
The conforming
The
The
The
Each of the
The
FIG. 4 is a flowchart showing this embodiment. In
本発明により、仕様の異なる市販バーチャルマシンが動作する種々のハードウェアプラットフォーム100上に、共通のアプリケーションソフトウェアを追加・変更・削除し、当該ハードウェアプラットフォーム上で共通のアプリケーションソフトウェアを起動し、共通のアプリケーションソフトウェアの動作を制御すること等が可能となる。これにより、より多くの携帯電話機やパソコンや家電などのハードウェアプラットフォームに対して利用者の求めるアプリケーションソフトウェアをより容易に開発・提供することが可能となる。
また、利用者にとって、従来技術では得られなかったアプリケーションソフトウェアを利用することが可能となり、より便利で安全に携帯電話機やコンピュータを利用することができる。According to the present invention, common application software is added / changed / deleted on
In addition, it becomes possible for a user to use application software that could not be obtained by the prior art, and a mobile phone or a computer can be used more conveniently and safely.
1a、1b、1c ハードウェアプラットフォーム
2a、2b、2c 市販バーチャルマシン
3a、3b、3c 適合バーチャルマシン
4 アプリケーションソフトウェア
5 携帯電話機
6 パソコン
7 家電
8 アプリケーションソフトウェア
100 ハードウェアプラットフォーム
110 市販VM動作部
120 ソフトウェア保持部
130 適合VM動作部
131 適合VM用メモリ
133 ロード部
135 起動部
137 動作制御部
139 インタフェース部1a, 1b,
Claims (1)
種々のハードウェアプラットフォーム、種々の市販バーチャルマシンに共通のアプリケーションソフトウェアを追加・変更・削除するソフトウェアロード部と、1又は複数のアプリケーションソフトウェアを同時に起動するソフトウェア起動部と、同時に起動されているアプリケーションソフトウェアを切り替え、または連携させ、かつ、ユーザが意図しない操作を制限するソフトウェア動作制御部と、前記市販バーチャルマシンに適合され、前記ソフトウェアロード部、前記ソフトウェア起動部、前記ソフトウェア動作制御部のそれぞれと、前記市販バーチャルマシン動作部との間で、一方からの要求を他方によって処理される形態に変換して提供するインタフェース部とを形成するバーチャルマシン。By operating on any of a variety of hardware platforms with a commercially available virtual machine operating unit on which any of a variety of commercially available virtual machines operate,
Software load unit for adding / changing / deleting application software common to various hardware platforms and various commercially available virtual machines, software starting unit for simultaneously starting one or a plurality of application software, and application software being started simultaneously A software operation control unit that switches or cooperates and restricts an operation that is not intended by the user, and is adapted to the commercially available virtual machine, and each of the software load unit, the software activation unit, and the software operation control unit, A virtual machine that forms an interface unit that converts a request from one of the commercial virtual machine operation units into a form processed by the other.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007285541A JP2009093601A (en) | 2007-10-05 | 2007-10-05 | Virtual machine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007285541A JP2009093601A (en) | 2007-10-05 | 2007-10-05 | Virtual machine |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009093601A true JP2009093601A (en) | 2009-04-30 |
Family
ID=40665499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007285541A Pending JP2009093601A (en) | 2007-10-05 | 2007-10-05 | Virtual machine |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009093601A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130074067A1 (en) * | 2011-08-15 | 2013-03-21 | Empire Technology Development Llc | Multimodal computing device |
-
2007
- 2007-10-05 JP JP2007285541A patent/JP2009093601A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130074067A1 (en) * | 2011-08-15 | 2013-03-21 | Empire Technology Development Llc | Multimodal computing device |
US8813175B2 (en) * | 2011-08-15 | 2014-08-19 | Empire Technology Development Llc | Multimodal computing device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6044604B2 (en) | Terminal device and program | |
AU2010327452B2 (en) | Mobile device and control method thereof | |
JP5894080B2 (en) | Communication channel between web application and process outside browser | |
JP6348173B2 (en) | Limited driver platform runs drivers in sandbox in user mode | |
JP2010129080A (en) | Software executing system and software executing method | |
KR102121358B1 (en) | Data transmission method and device | |
JP2008204239A (en) | Electronic computer and implementation method of user interface by software | |
KR20180053358A (en) | How to run applications on a computing device | |
JP2018190143A (en) | Information processing apparatus | |
Nakao et al. | Toward remote service invocation in android | |
JP5997848B2 (en) | Mobile terminal resource processing method, apparatus, client-side computer, server, mobile terminal, program, and recording medium | |
JP2003308205A (en) | Method for temporarily halting program | |
JP2016522489A (en) | Data processing system security apparatus and security method | |
KR101223981B1 (en) | Virtualization apparatus and server for securly executing applications and method therefor | |
JP2009093601A (en) | Virtual machine | |
JP5223802B2 (en) | Server-based computing system, server device, client device, and program | |
JP2006276939A (en) | Program starting method for virtual machine, and client server system | |
JP2006302031A (en) | Distribution method for application program, and server device used therefor | |
KR101585931B1 (en) | A processing platform and processing method of baroapp based on environment combined hybrid app with native app | |
Chandrashekar et al. | Comparative Analysis of Modern Mobile Operating Systems | |
JP4072381B2 (en) | Graphical user interface construction method and program | |
JP5066112B2 (en) | Information processing device | |
JP7315750B2 (en) | Server system, client device and program | |
JP2008015658A (en) | Application providing system and method | |
JP5144624B2 (en) | Image forming apparatus |