JP4787341B2 - Data processing apparatus, data processing method, and data processing program - Google Patents

Data processing apparatus, data processing method, and data processing program Download PDF

Info

Publication number
JP4787341B2
JP4787341B2 JP2009035326A JP2009035326A JP4787341B2 JP 4787341 B2 JP4787341 B2 JP 4787341B2 JP 2009035326 A JP2009035326 A JP 2009035326A JP 2009035326 A JP2009035326 A JP 2009035326A JP 4787341 B2 JP4787341 B2 JP 4787341B2
Authority
JP
Japan
Prior art keywords
data
virtual machine
processing
virtual
unit
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
JP2009035326A
Other languages
Japanese (ja)
Other versions
JP2010191681A (en
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.)
NTT Docomo Inc
Original Assignee
NTT Docomo 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 NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2009035326A priority Critical patent/JP4787341B2/en
Publication of JP2010191681A publication Critical patent/JP2010191681A/en
Application granted granted Critical
Publication of JP4787341B2 publication Critical patent/JP4787341B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、データ処理装置、データ処理方法、データ処理プログラムに関する。   The present invention relates to a data processing device, a data processing method, and a data processing program.

携帯電話等の通信端末の性能の向上に伴い、種々の高機能OS(Operating System)が通信端末に搭載されるようになり、このOSを用いて電子メールやウェブサイトの閲覧等の多くの機能が通信端末の所有者(ユーザ)によって利用されている。特に、ウェブサイトの閲覧機能を用いて、着信メロディや待ち受け画像等のコンテンツを通信端末にダウンロードして用いることは特に一般的となっている。ここで、通信端末のユーザによってダウンロードされるコンテンツの扱いは、コンテンツ提供会社により決められていることが多い。具体的には、例えば、ダウンロードしたコンテンツを通信端末の外へ持ち出すことや、改変して利用することは、コンテンツ提供会社により制限される場合がある。近年では、通信端末内部に保持される個人情報や電子メール等の情報についても、ダウンロードしたコンテンツと同様に持ち出しの制限等を行うことができるような情報の保護を重視した端末設計が検討されつつある。   With the improvement of the performance of communication terminals such as mobile phones, various high-function OSs (Operating Systems) have been installed in the communication terminals, and many functions such as e-mail and website browsing using this OS. Is used by the owner (user) of the communication terminal. In particular, it is particularly common to download contents such as incoming melody and standby image to a communication terminal using a browsing function of a website. Here, the handling of the content downloaded by the user of the communication terminal is often determined by the content provider. Specifically, for example, taking out downloaded content out of a communication terminal or using it after modification may be restricted by a content provider. In recent years, with regard to information such as personal information and e-mail held in communication terminals, terminal designs that emphasize protection of information that can be taken out in the same way as downloaded contents are being studied. is there.

また、最近では、PC(Personal Computer)との親和性が高く、カスタマイズ性に強みを持つ通信端末であるスマートフォンの開発が進められている。このスマートフォンは、PCと同様にCPU(Central Processing Unit)が直接実行可能であるネイティブコードのアプリケーションを追加することができ、当該アプリケーションの高速実行等を行うことができるという特徴を有する。ところが、PCと同様にウイルス等の悪意のあるアプリケーションが実行されてしまうと、通信端末の内部に保持される個人情報やデータ等の消去、改ざん、漏洩等が起きる可能性があるため、上記のような情報の保護を達成することができなくなる恐れがある。そこで、上記のスマートフォンのようにネイティブコードのアプリケーションを使用する通信端末において、アプリケーションの使用と、保護すべき情報の管理との双方を達成するための種々の方法が検討されている。   Recently, the development of a smartphone, which is a communication terminal that has a high affinity with a PC (Personal Computer) and has strength in customization, has been promoted. This smartphone has a feature that, like a PC, an application of a native code that can be directly executed by a CPU (Central Processing Unit) can be added, and the application can be executed at high speed. However, if a malicious application such as a virus is executed in the same way as a PC, personal information and data held in the communication terminal may be erased, altered, leaked, etc. Such protection of information may not be achieved. Therefore, various methods for achieving both use of an application and management of information to be protected in a communication terminal that uses an application of a native code like the above-described smartphone have been studied.

例えば、特許文献1では、プログラムによって仮想的なCPU、メモリ、周辺デバイス等を備える仮想マシンを作り出すことにより、1台の物理的な通信端末の中に、ネイティブコードのアプリケーションを実行する仮想マシンと、この仮想マシンで保存されたファイルを検査する上記の仮想マシンとは異なる仮想マシンとを含む複数の仮想マシンを備える構成が示されている。そして、これらの仮想マシンを動作させることにより、脅威あるアプリケーションを仮想マシンにおいて実行する前に、異なる仮想マシンにより検査をすることによって、悪意のあるアプリケーションによる通信端末の攻撃が回避される。   For example, in Patent Document 1, by creating a virtual machine including a virtual CPU, a memory, a peripheral device, and the like by a program, a virtual machine that executes an application of native code in one physical communication terminal A configuration including a plurality of virtual machines including a virtual machine different from the virtual machine that inspects a file stored in the virtual machine is shown. By operating these virtual machines, an attack of a communication terminal by a malicious application is avoided by inspecting with a different virtual machine before executing a threatening application in the virtual machine.

また、特許文献2では、通信端末内部の仮想マシン内には、あらかじめリモートサーバに保管されるコンテンツファイルに対するスケルトンファイルが保持されており、仮想マシン内で実行されるプログラムがこのスケルトンファイルにアクセスした場合には、スケルトンファイルに対応するコンテンツファイルの内容がリモートサーバから取得される構成が示されている。   In Patent Document 2, a skeleton file for a content file stored in a remote server is held in advance in a virtual machine inside a communication terminal, and a program executed in the virtual machine accesses the skeleton file. In this case, a configuration is shown in which the content file corresponding to the skeleton file is acquired from the remote server.

また、特許文献3では、複数の仮想マシンにおいて利用可能なデータと、各仮想マシンにおいて占有して利用されるデータと、を区別する構成が示されている。   Japanese Patent Application Laid-Open No. 2004-228561 discloses a configuration that distinguishes between data that can be used in a plurality of virtual machines and data that is exclusively used in each virtual machine.

また、特許文献4では、アプリケーションによるデータ表示要求に基づいて、仮想マシンにおいて対応するプログラムを動的に生成して実行する構成が示されている。そして構成によれば、仮想マシンにおいて生成されるプログラムの詳細はアプリケーションに対して秘匿されることから、データ表示に対して行われる処理の詳細が外部に漏洩するという問題が低減される。   Patent Document 4 discloses a configuration in which a corresponding program is dynamically generated and executed in a virtual machine based on a data display request by an application. According to the configuration, the details of the program generated in the virtual machine are concealed from the application, so that the problem that details of processing performed on the data display are leaked to the outside is reduced.

米国特許出願公開第2008/0178290号明細書US Patent Application Publication No. 2008/0178290 米国特許第6735601号明細書US Pat. No. 6,735,601 米国特許第6738977号明細書US Pat. No. 6,738,977 米国特許第6604111号明細書US Pat. No. 6,604,111

現在の通信端末では、個人情報やコンテンツ等の重要なデータを保護する目的から、ネットワークからダウンロードしたアプリケーションは重要データを利用できないように制限されている。ネイティブコードのアプリケーションを使用する通信端末において同様の制限を実現するためには、通信端末により用いられるアプリケーションを通信端末内に設けられた二つの仮想マシンに分けて動作させる機構が利用できる。より具体的には、上述の重要なデータを特定の仮想マシンの管轄下に配置し、これらのデータの利用は、この仮想マシンにおいて動作するアプリケーションによってのみ利用される態様とする一方、ネットワークからダウンロードしたアプリケーションは上記の仮想マシンとは異なる仮想マシンにおいて動作させる態様とされる。上記のように、ネットワークからダウンロードしたアプリケーションが悪意のあるものである場合であっても、アプリケーションが動作する仮想マシンとは異なる仮想マシンの管轄下の重要なデータを利用することができない態様とすることにより、重要なデータの改ざんや漏洩等を防止する構成が用いられている。   In current communication terminals, applications downloaded from a network are restricted so that important data cannot be used in order to protect important data such as personal information and contents. In order to realize the same restriction in a communication terminal using a native code application, a mechanism for operating the application used by the communication terminal by dividing it into two virtual machines provided in the communication terminal can be used. More specifically, the above-mentioned important data is placed under the jurisdiction of a specific virtual machine, and such data is used only by an application running on the virtual machine, while being downloaded from the network. The application is operated in a virtual machine different from the above virtual machine. As described above, even if the application downloaded from the network is malicious, important data under the jurisdiction of the virtual machine different from the virtual machine on which the application operates cannot be used. Therefore, a configuration for preventing falsification or leakage of important data is used.

しかしながら、上記の構成では、重要なデータの改ざんや漏洩等の防止は図られているものの、アプリケーションがデータを十分に利用することができないという問題がある。具体的には、例えば、アプリケーションを動作させる仮想マシンにおいて動作する電話アプリケーションは、この仮想マシンの管轄下にあるデータを着信音として使用することはできても、異なる仮想マシンの管轄下にあるデータを着信音として使用することはできない。このように、動作するアプリケーションが信頼性の高いアプリケーションであっても、通信端末において保持されるデータを十分に利用することができないため、通信端末のユーザはそのアプリケーションを十分に活用することができないという問題があって、これは、上述の特許文献1〜4に記載の技術を用いても解決することができない。   However, in the above configuration, although important data is prevented from being falsified or leaked, there is a problem that the application cannot sufficiently use the data. Specifically, for example, a telephone application that operates in a virtual machine that operates the application can use data under the control of the virtual machine as a ring tone, but data under the control of a different virtual machine. Cannot be used as a ringtone. As described above, even if the application that operates is a highly reliable application, the data held in the communication terminal cannot be fully used, and thus the user of the communication terminal cannot fully use the application. This problem cannot be solved by using the techniques described in Patent Documents 1 to 4 described above.

例えば、特許文献1に記載の技術によれば、特定の仮想マシンにおいてアプリケーションを実行する前に異なる仮想マシンにより検査がなされるために、悪意のあるアプリケーションの実行は回避されるが、意図しないアプリケーションが重要なデータにアクセスしてしまうことによる改ざんや漏洩等が発生するという問題がある。   For example, according to the technique described in Patent Document 1, since a test is performed by a different virtual machine before executing an application in a specific virtual machine, execution of a malicious application is avoided, but an unintended application However, there is a problem that tampering or leakage occurs due to access to important data.

また、特許文献2に記載の技術によれば、仮想マシン内のプログラムが、スケルトンファイルにアクセスした場合には、スケルトンファイルに対応付けてリモートサーバに保管されるコンテンツファイルの内容が取得されるため、悪意のあるプログラムが実行された場合には、コンテンツファイルの内容が当該プログラムにより漏洩する可能性がある。   Further, according to the technique described in Patent Document 2, when a program in a virtual machine accesses a skeleton file, the contents of the content file stored in the remote server in association with the skeleton file are acquired. When a malicious program is executed, the contents of the content file may be leaked by the program.

また、特許文献3に記載の技術によれば、各仮想マシンにおいてのみ占有して利用されるデータは、異なる仮想マシンのアプリケーションが利用することができないため、例えこのアプリケーションが信頼性のあるアプリケーションであってもデータを十分利用できないという問題がある。   Further, according to the technique described in Patent Document 3, data that is exclusively used in each virtual machine cannot be used by an application of a different virtual machine. For example, this application is a reliable application. There is a problem that even if there is, data cannot be used sufficiently.

また、特許文献4に記載の技術によれば、仮想マシンにおいて生成されたプログラムを実行することにより、データ表示が行われるものの、表示対象となるデータが重要なデータである場合のデータの管理については開示がないため、アプリケーションからの要求に基づいて、秘匿される必要がある重要なデータについても表示されてしまう可能性がある。   Moreover, according to the technique described in Patent Document 4, although data display is performed by executing a program generated in a virtual machine, data management is performed when data to be displayed is important data. Since there is no disclosure, important data that needs to be kept secret may be displayed based on a request from an application.

このように、特許文献1〜4に記載の技術を用いて、通信端末に保持されるデータを適切に利用することと、保護されるべきデータの管理を適切に行うことと、を両立することは困難である。   As described above, using the techniques described in Patent Documents 1 to 4 to appropriately use data held in the communication terminal and appropriately manage data to be protected. It is difficult.

本発明は上記を鑑みてなされたものであり、データの不適切な利用を防止すると共に当該データを適切に利用することができるデータ処理装置、データ処理方法、及びデータ処理プログラムを提供することを目的とする。   The present invention has been made in view of the above, and provides a data processing device, a data processing method, and a data processing program capable of preventing inappropriate use of data and appropriately using the data. Objective.

上記目的を達成するため、本発明に係るデータ処理装置は、互いに異なるオペレーションシステムにより動作する第1仮想マシンと第2仮想マシンとを備えるデータ処理装置であって、第1仮想マシンは、実行することが許容される処理内容があらかじめ特定され、前記第2仮想マシンにおいて格納されるデータに対応付けられた仮想データを格納する第1記憶手段と、処理内容を特定する情報が含まれ、仮想データを用いた処理命令を受信する受信手段と、受信手段により受信された処理命令に含まれる処理内容を特定する情報に基づいて、仮想データに対して処理を実行することが許容されるか否かを判定する判定手段と、判定手段により処理内容を特定する情報に基づいた処理を仮想データに対して実行することが許容されると判定された場合に、仮想データに対応付けられたデータの処理を第2仮想マシンへ要求する処理要求手段と、を備え、第2仮想マシンは、データを格納する第2記憶手段と、データを用いて実行されるプログラムを格納し、1仮想マシンからの要求に基づいて、データを用いてプログラムを実行する実行処理手段と、を備えることを特徴とする。   In order to achieve the above object, a data processing apparatus according to the present invention is a data processing apparatus including a first virtual machine and a second virtual machine that are operated by different operation systems, and the first virtual machine executes A first storage means for storing virtual data associated with data stored in the second virtual machine, information for specifying the processing content, and virtual data Whether or not it is allowed to execute processing on virtual data based on receiving means for receiving a processing instruction using, and information specifying processing content included in the processing instruction received by the receiving means A determination unit that determines whether the virtual data is allowed to execute a process based on the information for specifying the processing content. Processing request means for requesting the second virtual machine to process the data associated with the virtual data, the second virtual machine using the second storage means for storing the data and the data Execution processing means for storing a program to be executed and executing the program using data based on a request from one virtual machine.

上記のデータ処理装置によれば、第1仮想マシンの受信手段において受信され、第1記憶手段に格納される仮想データを用いた処理命令が、あらかじめ仮想データに対応付けて格納され、実行することが許容される処理内容であるかが判定される。そして、実行することが許容されると判定された場合には、仮想データに対応付けられて第2記憶手段に格納されるデータの処理が第2仮想マシンに対して要求され、データを用いたプログラムの実行が第2仮想マシンにおいて行われる。このように、第2仮想マシンの第2記憶手段に格納されるデータに対応付けられた仮想データが第1仮想マシンの第1記憶手段に格納され、この仮想データに対する処理要求に応じて第2記憶手段に格納されるデータの処理を実行することができるため、結果として、第1仮想マシンから第2仮想マシンに格納されるデータを間接的に利用することができる。また、上記のデータ処理装置によれば、第1仮想マシンの第1記憶手段に格納される仮想データには、あらかじめデータに対して実行することが許容される処理内容を特定する情報が対応付けられ、この情報に含まれる処理内容の処理命令を受信した場合に限って、第2仮想マシンに対して処理の要求が送信されることから、例えば第2仮想マシンに格納されるデータを利用しようとする悪意のある処理命令が第1仮想マシンにおいて受信された場合には、この処理命令に基づいて第2仮想マシンに対して指示をすることを回避することができるため、不適切な利用を防止することができる。   According to the above data processing apparatus, processing instructions using virtual data received by the receiving means of the first virtual machine and stored in the first storage means are stored in advance in association with the virtual data and executed. Is determined to be acceptable processing content. If it is determined that the execution is permitted, the second virtual machine is requested to process data stored in the second storage unit in association with the virtual data, and the data is used. Execution of the program is performed in the second virtual machine. Thus, the virtual data associated with the data stored in the second storage unit of the second virtual machine is stored in the first storage unit of the first virtual machine, and the second data is received in response to the processing request for this virtual data. Since processing of data stored in the storage unit can be executed, as a result, data stored in the second virtual machine from the first virtual machine can be indirectly used. Further, according to the above data processing apparatus, the virtual data stored in the first storage unit of the first virtual machine is associated with information for specifying the processing content allowed to be executed on the data in advance. The processing request is transmitted to the second virtual machine only when the processing instruction of the processing content included in this information is received. For example, let's use the data stored in the second virtual machine. When a malicious processing instruction is received in the first virtual machine, it is possible to avoid giving an instruction to the second virtual machine based on this processing instruction. Can be prevented.

ここで、第2仮想マシンは、第2記憶手段に格納されるデータが更新された場合に、第2記憶手段に格納されるデータの更新に係る情報が含まれる更新情報を第1仮想マシンに通知する通知手段を更に備え、第1仮想マシンは、通知手段より通知される更新情報を取得し、当該更新情報に基づいて第1記憶手段に格納される仮想データを更新する更新手段を更に備える態様とすることができる。   Here, when the data stored in the second storage unit is updated, the second virtual machine sends update information including information related to the update of the data stored in the second storage unit to the first virtual machine. The first virtual machine further includes update means for acquiring update information notified from the notification means and updating virtual data stored in the first storage means based on the update information. It can be set as an aspect.

このように、第2記憶手段に格納されるデータの更新内容を第1仮想マシンに通知し、データの更新内容に基づいて第1記憶手段に格納される仮想データを更新することにより、例えば第2記憶手段におけるデータの追加や削除に応じて、第1記憶手段における仮想データを適切に追加や削除することができる。また、第2記憶手段に格納されるデータに対して許容される処理内容が変更された場合等にも、この情報を第1仮想マシンに対して適切に通知し、第1記憶手段に格納される仮想データに対応付けられる処理内容を特定する情報を更新することにより、例えば、上記の変更により許容されなくなった内容の処理を第1仮想マシンから第2仮想マシンに対して要求することを減らすことができるため、第1仮想マシンと第2仮想マシンとの間に発生する不要な情報のやり取りを減らすことができる。   In this way, the update contents of the data stored in the second storage means are notified to the first virtual machine, and the virtual data stored in the first storage means is updated based on the update contents of the data, for example, In accordance with the addition or deletion of data in the two storage means, the virtual data in the first storage means can be appropriately added or deleted. In addition, even when the processing content allowed for the data stored in the second storage unit is changed, this information is appropriately notified to the first virtual machine and stored in the first storage unit. By updating the information specifying the processing content associated with the virtual data, for example, it is possible to reduce the request from the first virtual machine to the second virtual machine for processing that has become unacceptable due to the above change. Therefore, the exchange of unnecessary information that occurs between the first virtual machine and the second virtual machine can be reduced.

また、第1仮想マシンは、第2仮想マシンに対してデータの実行処理の終了を要求する処理終了要求手段を更に備え、実行処理手段は、処理終了要求手段からの要求に基づいて、データを用いたプログラムの実行を中止する態様としてもよい。   The first virtual machine further includes a process end requesting unit that requests the second virtual machine to end the data execution process, and the execution processing unit receives the data based on the request from the process end requesting unit. It is good also as an aspect which stops execution of the used program.

上記の構成によれば、第2仮想マシンにおいて実行されるプログラムが、例えば実行処理を続けるプログラムである場合には、第1仮想マシンから第2仮想マシンに対して実行処理を終了させる要求を送信し、この要求に基づいてプログラムの実行を中止させる構成を備えることで、プログラムの実行を停止させ、第2記憶手段に格納されるデータの利用を中止させることができる。   According to the above configuration, when the program executed in the second virtual machine is a program that continues execution processing, for example, the first virtual machine sends a request to end the execution processing to the second virtual machine. By providing a configuration for stopping the execution of the program based on this request, the execution of the program can be stopped and the use of the data stored in the second storage means can be stopped.

また、実行処理手段は、第2記憶手段に格納されるデータをあらかじめ実行可能な状態にする態様とすることができる。   Further, the execution processing means can be in a mode in which data stored in the second storage means can be executed in advance.

上記のように、あらかじめデータを実行可能な状態にすることで、第1仮想マシンからの処理要求に基づいてより早くデータを実行処理することができる。   As described above, by setting the data in an executable state in advance, the data can be executed and processed earlier based on the processing request from the first virtual machine.

また、第2仮想マシンは、受信手段において処理命令を受信する契機となるイベントに係る情報であるイベント情報を受信するイベント情報受信手段を更に備え、実行処理手段は、イベント情報受信手段がイベント情報を受信した後の一定時間のみ、処理要求手段からの要求に基づいて、データを用いてプログラムを実行する態様としてもよい。   The second virtual machine further includes event information receiving means for receiving event information, which is information related to an event that triggers reception of a processing command in the receiving means, and the execution processing means is configured such that the event information receiving means includes event information. For example, the program may be executed using data based on a request from the processing requesting unit only for a certain period of time after receiving.

このように、イベント情報受信手段がイベント情報を受信した後の一定時間のみデータの実行処理を行う態様とすることで、イベント情報に基づいて第1仮想マシンから要求される処理は適切に実行することができると共に、例えば第2仮想マシンにおいて不正な処理要求を受けてプログラムを実行することを回避することができる。   In this way, the event information receiving means performs the data execution process only for a certain time after receiving the event information, so that the process requested from the first virtual machine is appropriately executed based on the event information. In addition, for example, it is possible to avoid executing a program in response to an illegal processing request in the second virtual machine.

ここで、第2仮想マシンは、イベント情報受信手段により受信されたイベント情報と、イベント情報を受信した後に実行処理手段によりプログラムを実行する際に用いられたデータと、を対応付けて格納する第3記憶手段とを更に備え、実行処理手段は、イベント情報受信手段がイベント情報を受信した際に、第3記憶手段を参照し、イベント情報受信手段が受信したイベント情報に対応付けて格納されるデータをあらかじめ実行可能な状態にする態様とすることができる。   Here, the second virtual machine stores the event information received by the event information receiving means in association with the data used when the execution processing means executes the program after receiving the event information. The execution processing means refers to the third storage means when the event information receiving means receives the event information, and stores it in association with the event information received by the event information receiving means. It is possible to make the data ready for execution in advance.

上記のように、イベント情報を受信した際に第3記憶手段に格納される情報に基づいて当該イベント情報に対応付けて格納されるデータをあらかじめ実行可能な状態にすることで、第1仮想マシンからの要求に基づいて当該データを用いたプログラムを実行する処理を開始するのを早めることができる。また、第2仮想マシンに格納されるデータが複数ある場合に、どのデータをあらかじめ実行可能にするかが明確となり、不要なデータをあらかじめ実行可能な状態にする等の不要な処理を減らすことができる。   As described above, by making the data stored in association with the event information based on the information stored in the third storage unit when the event information is received in advance, the first virtual machine can be executed. It is possible to expedite the start of the process of executing the program using the data based on the request from. In addition, when there is a plurality of data stored in the second virtual machine, it becomes clear which data can be executed in advance, and unnecessary processing such as making unnecessary data ready to be executed can be reduced. it can.

また、実行処理手段によりデータを用いてプログラムを実行した結果を出力する出力手段を更に備える態様とすることができる。   Moreover, it can be set as the aspect further provided with the output means which outputs the result of having executed the program using data by the execution processing means.

上記のように、本発明のデータ処理装置が出力手段を更に備える場合、第2仮想マシンによりデータを用いてプログラムを実行した結果を他の装置に対して送信して出力する場合と比較して、実行した結果がより早く出力され、データ処理装置の所有者がより早く確認することができる。   As described above, when the data processing apparatus of the present invention further includes an output unit, the result of executing the program using the data by the second virtual machine is transmitted to another apparatus and output. The execution result is output earlier, and the owner of the data processing device can confirm earlier.

ここで、出力手段は、第1仮想マシンにより制御されるディスプレイであって、データは画像データであって、第1仮想マシンは、ディスプレイの画面表示を制御する画面制御手段を更に備え、第2仮想マシンは、実行処理手段によりデータを用いてプログラムを実行した結果をディスプレイに対して表示させる表示手段を更に備え、画面制御手段は、判定手段により処理内容を特定する情報に基づいた処理を仮想データに対して実行することが許容されると判定された場合に、ディスプレイのうちデータを用いてプログラムを実行した結果を表示するための画像表示領域を透過色に設定し、表示手段は、データを用いてプログラムを実行した結果を画像表示領域に表示させる態様とすることができる。   Here, the output means is a display controlled by the first virtual machine, the data is image data, and the first virtual machine further includes screen control means for controlling screen display on the display, The virtual machine further includes display means for displaying on the display a result of executing the program using the data by the execution processing means, and the screen control means virtually performs processing based on information for specifying the processing content by the determination means. When it is determined that the data is allowed to be executed on the data, an image display area for displaying a result of executing the program using the data in the display is set to a transparent color, and the display means The result of executing the program using can be displayed in the image display area.

上記のように、第1仮想マシンにより制御されるディスプレイである出力手段に対して第2仮想マシンにおいてデータを用いてプログラムを実行した結果を出力する場合、第1仮想マシンの画面制御手段が判定手段による判定結果に基づいて画像表示領域を透過色にし、出力結果が第2仮想マシンの表示手段によって当該領域に対して表示される。このように、出力手段が第1仮想マシンにより制御されるディスプレイであっても、第2仮想マシンによる処理の結果を好適に表示させることができる。なお、ここでいう画像データとは、ディスプレイに表示させることができるデータを指し、例えばアニメーション等の動画も含まれる。   As described above, when the result of executing the program using data in the second virtual machine is output to the output means that is a display controlled by the first virtual machine, the screen control means of the first virtual machine determines Based on the determination result by the means, the image display area is made transparent, and the output result is displayed on the area by the display means of the second virtual machine. Thus, even if the output means is a display controlled by the first virtual machine, the result of processing by the second virtual machine can be suitably displayed. The image data here refers to data that can be displayed on a display, and includes moving images such as animation.

また、画面制御手段は、画像表示領域の変更に係る情報である変更情報を表示手段に通知し、表示手段は、変更情報に基づいて、画像表示領域にデータを用いてプログラムを実行した結果を表示させる態様としてもよい。   Further, the screen control means notifies the display means of change information that is information related to the change of the image display area, and the display means indicates the result of executing the program using the data in the image display area based on the change information. It is good also as a mode to display.

上記のように、画面制御手段から通知される変更情報に基づいて表示手段がプログラムを実行した結果を表示させることにより、画像表示領域の変更に応じて実行した結果を好適に表示させることができる。   As described above, by displaying the result of executing the program by the display means based on the change information notified from the screen control means, the result executed according to the change of the image display area can be suitably displayed. .

ここで、変更情報は、画像表示領域の位置とサイズの変更に係る情報である場合、表示手段は画像表示領域の位置やサイズの変更に応じた対応を行うことができ、よりプログラムを実行した結果を好適に表示させることができる。   Here, when the change information is information related to the change in the position and size of the image display area, the display unit can take action according to the change in the position and size of the image display area, and the program is executed more. The result can be suitably displayed.

また、処理要求手段は、出力手段への出力が制限されている場合には、第2仮想マシンに対するデータの処理の要求を中止する態様とすることもできる。   In addition, the processing request unit may be configured to stop the data processing request for the second virtual machine when the output to the output unit is restricted.

上記の構成によれば、例えば音声出力をすると周囲に迷惑となるような場合に、音楽データを再生して出力手段から出力させてしまうということを減少させることができるように、状況に応じて適切に出力を制限させることができるため、データ処理装置によりデータを利用する際の利便性を高めることができる。   According to the above configuration, depending on the situation, it is possible to reduce the possibility of reproducing music data and outputting it from the output means when, for example, sound output causes trouble to the surroundings. Since the output can be appropriately restricted, the convenience in using data by the data processing device can be enhanced.

さらに、データ処理装置は出力手段を複数備え、処理要求手段は、データを用いてプログラムを実行した結果が複数の出力手段へ出力される場合に、複数の出力手段のうちの一部の出力手段に対してのみプログラムを実行した結果の出力を第2仮想マシンに対して要求する態様としてもよい。   Further, the data processing apparatus includes a plurality of output means, and the processing request means outputs a part of the plurality of output means when the result of executing the program using the data is output to the plurality of output means. Alternatively, the second virtual machine may be requested to output the result of executing the program only for the second virtual machine.

上記の構成によれば、例えば第2仮想マシンによる処理の結果が音声と画像によって出力されるデータを処理した場合に、その結果のうち一方のみ(例えば画像のみ)が出力される態様とすることができ、データ処理装置によりデータを利用する際の利便性をさらに高めることができる。   According to the above configuration, for example, when the data output as the result of processing by the second virtual machine is processed as sound and image, only one of the results (for example, only the image) is output. Therefore, the convenience of using data by the data processing device can be further enhanced.

なお、本発明は、上記のようにデータ処理装置の発明として記述できる他に、以下のようにデータ処理方法の発明及びデータ処理プログラムの発明としても記述することができる。これはカテゴリが異なるだけで、実質的に同一の発明であり、同様の作用及び効果を奏する。   The present invention can be described as an invention of a data processing apparatus as described above, and can also be described as an invention of a data processing method and an invention of a data processing program as follows. This is substantially the same invention only in different categories, and has the same operations and effects.

すなわち、本発明に係るデータ処理方法は、互いに異なるオペレーションシステムにより動作する第1仮想マシンと第2仮想マシンとを備えるデータ処理装置によるデータ処理方法であって、第1仮想マシンの第1記憶手段が、実行することが許容される処理内容があらかじめ特定され、第2仮想マシンにおいて格納されるデータに対応付けられた仮想データを格納する第1記憶ステップと、第1仮想マシンの受信手段が、データに対して実行してもよい処理内容を特定する情報が含まれ、仮想データを用いた処理命令を受信する受信ステップと、第1仮想マシンの判定手段が、受信ステップにおいて受信された処理命令に含まれる処理内容を特定する情報に基づいて、仮想データに対して処理を実行することが許容されるか否かを判定する判定ステップと、第1仮想マシンの処理要求手段が、判定ステップにおいて処理内容を特定する情報に基づいた処理を仮想データに対して実行することが許容されると判定された場合に、仮想データに対応付けられたデータの処理を第2仮想マシンへ要求する処理要求ステップと、第2仮想マシンの第2記憶手段がデータを格納する第2記憶ステップと、第2仮想マシンの実行処理手段が、データを用いて実行されるプログラムを格納し、1仮想マシンからの要求に基づいて、データを用いてプログラムを実行する実行処理ステップと、を備えることを特徴とする。   In other words, the data processing method according to the present invention is a data processing method by a data processing apparatus including a first virtual machine and a second virtual machine that operate by different operation systems, and the first storage means of the first virtual machine The first storage step for storing the virtual data associated with the data stored in the second virtual machine, in which the processing content allowed to be executed is specified in advance, and the receiving means of the first virtual machine include: A reception step for receiving a processing instruction using virtual data, including information specifying processing contents that may be executed on the data, and a processing instruction received by the determination means of the first virtual machine in the reception step It is determined whether or not it is allowed to execute processing on virtual data based on information specifying processing content included in If it is determined that the processing request means of the first step and the processing request means of the first virtual machine are allowed to execute the processing based on the information for specifying the processing content on the virtual data in the determination step, the virtual data A processing request step for requesting processing of the associated data to the second virtual machine, a second storage step in which the second storage means of the second virtual machine stores the data, and an execution processing means of the second virtual machine, And an execution processing step of storing a program executed using data and executing the program using data based on a request from one virtual machine.

また、本発明に係るデータ処理プログラムは、互いに異なるオペレーションシステムにより動作する第1仮想マシンと第2仮想マシンとを備えるデータ処理装置におけるデータ処理プログラムであって、第1仮想マシンにおいて、実行することが許容される処理内容があらかじめ特定され、第2仮想マシンにおいて格納されるデータに対応付けられた仮想データを第2仮想マシンにおいて格納されるデータに対応付けて格納する第1記憶手段と、第1仮想マシンにおいて、実行することが許容される処理内容があらかじめ特定された仮想データを第2仮想マシンにおいて格納されるデータに対応付けて格納する第1記憶手段と、第1仮想マシンにおいて、データに対して実行してもよい処理内容を特定する情報が含まれ、仮想データを用いた処理命令を受信する受信手段と、第1仮想マシンにおいて、判定手段により処理内容を特定する情報に基づいた処理を仮想データに対して実行することが許容されると判定された場合に、仮想データに対応付けられたデータの処理を第2仮想マシンへ要求する処理要求手段と、第2仮想マシンにおいて、データを格納する第2記憶手段と、第2仮想マシンにおいて、データを用いて実行されるプログラムを格納し、1仮想マシンからの要求に基づいて、データを用いてプログラムを実行する実行処理手段と、をコンピュータに機能させることを特徴とする。   The data processing program according to the present invention is a data processing program in a data processing apparatus including a first virtual machine and a second virtual machine that are operated by different operation systems, and is executed in the first virtual machine. First storage means for preliminarily specifying the processing content that is permitted and storing virtual data associated with data stored in the second virtual machine in association with data stored in the second virtual machine; A first storage means for storing virtual data for which processing content allowed to be executed in advance is specified in one virtual machine in association with data stored in the second virtual machine; Contains information that identifies the processing content that may be executed for the virtual data In the receiving means for receiving the logical command and the first virtual machine, the virtual data when it is determined by the determining means that the process based on the information specifying the processing content is allowed to be performed on the virtual data The processing request means for requesting the second virtual machine to process the data associated with the second virtual machine, the second storage means for storing data in the second virtual machine, and the second virtual machine using the data Execution processing means for storing a program and executing the program using data based on a request from one virtual machine causes the computer to function.

本発明によれば、データの不適切な利用を防止すると共に当該データを適切に利用することができるデータ処理装置、データ処理方法、及びデータ処理プログラムが提供される。   According to the present invention, there are provided a data processing device, a data processing method, and a data processing program capable of preventing inappropriate use of data and appropriately using the data.

本発明の第1実施形態に係るデータ処理装置の構成を説明するブロック図である。It is a block diagram explaining the structure of the data processor which concerns on 1st Embodiment of this invention. データ処理装置のハードウェア構成を説明する図である。It is a figure explaining the hardware constitutions of a data processor. データ処理装置のソフトウェア構成を説明する図である。It is a figure explaining the software structure of a data processor. 第2記憶部に格納される実データと、第1記憶部に格納される仮想データと、の対応付けの例を説明する図である。It is a figure explaining the example of matching with the real data stored in a 2nd memory | storage part, and the virtual data stored in a 1st memory | storage part. 第2記憶部に格納される実データと、第1記憶部に格納される仮想データと、の対応付けの例を説明する図である。It is a figure explaining the example of matching with the real data stored in a 2nd memory | storage part, and the virtual data stored in a 1st memory | storage part. 第2記憶部に格納される実データと、第1記憶部に格納される仮想データと、の対応付けの例を説明する図である。It is a figure explaining the example of matching with the real data stored in a 2nd memory | storage part, and the virtual data stored in a 1st memory | storage part. データ処理方法(仮想データの利用処理)を説明するフローチャートである。It is a flowchart explaining a data processing method (utilization processing of virtual data). データ処理方法(処理要求処理)を説明するフローチャートである。It is a flowchart explaining a data processing method (processing request processing). データ処理方法(実行処理)を説明するフローチャートである。It is a flowchart explaining a data processing method (execution process). データ処理方法(通知処理及び更新処理)を説明するフローチャートである。It is a flowchart explaining a data processing method (notification processing and update processing). 本発明の第2実施形態に係るデータ処理装置の構成を説明するブロック図である。It is a block diagram explaining the structure of the data processor which concerns on 2nd Embodiment of this invention. データ処理方法(終了要求処理及び終了処理)を説明するフローチャートである。It is a flowchart explaining a data processing method (end request process and end process). データ処理方法(デコード処理)を説明するフローチャートである。It is a flowchart explaining a data processing method (decoding process). 本発明の第3実施形態に係るデータ処理装置の構成を説明するブロック図である。It is a block diagram explaining the structure of the data processor which concerns on 3rd Embodiment of this invention. データ処理方法(有効時間制御処理)を説明するフローチャートである。It is a flowchart explaining a data processing method (effective time control processing). 本発明の第4実施形態に係るデータ処理装置の構成を説明するブロック図である。It is a block diagram explaining the structure of the data processor which concerns on 4th Embodiment of this invention. データ処理方法(履歴記録処理)を説明するフローチャートである。It is a flowchart explaining a data processing method (history recording process). データ処理方法(デコード処理)を説明するフローチャートである。It is a flowchart explaining a data processing method (decoding process). 本発明の第5実施形態に係るデータ処理装置の構成を説明するブロック図である。It is a block diagram explaining the structure of the data processor which concerns on 5th Embodiment of this invention. 第5実施形態に係るデータ処理装置によりディスプレイに出力される画像の例を示す図である。It is a figure which shows the example of the image output to a display by the data processor which concerns on 5th Embodiment. データ処理方法(処理要求処理及び実行処理)を説明するフローチャートである。It is a flowchart explaining a data processing method (a process request process and an execution process). データ処理方法(画像表示領域通知処理及び画像表示領域変更処理)を説明するフローチャートである。It is a flowchart explaining a data processing method (an image display area notification process and an image display area change process). 本発明の第6実施形態に係るデータ処理装置の構成を説明するブロック図である。It is a block diagram explaining the structure of the data processor which concerns on 6th Embodiment of this invention. データ処理方法(処理要求処理)を説明するフローチャートである。It is a flowchart explaining a data processing method (processing request processing). 本発明の好適な実施形態に係るデータ処理プログラムの構成を説明するブロック図である。It is a block diagram explaining the structure of the data processing program which concerns on suitable embodiment of this invention.

以下、添付図面を参照して、本発明を実施するための形態を詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。   DESCRIPTION OF EMBODIMENTS Hereinafter, embodiments for carrying out the present invention will be described in detail with reference to the accompanying drawings. In the description of the drawings, the same elements are denoted by the same reference numerals, and redundant description is omitted.

(第1実施形態)
<データ処理装置1の構成>
図1は、本発明の第1実施形態に係るデータ処理装置1の構成を説明するブロック図である。図1に示すように、データ処理装置1は、第1仮想マシン41と、第2仮想マシン42と、第1記憶部101と、第2記憶部102と、出力部105を含んで構成される。データ処理装置1は、例えば、携帯電話、PDA(Personal Digital Assistant)、パーソナルコンピュータ(Personal Computer:PC)等の通信機能を有する装置として実現される。データ処理装置1に含まれる第1仮想マシン41と第2仮想マシン42とは、互いに異なるオペレーションシステムにより動作する仮想マシンである。ここでいう「異なるオペレーションシステム」とは同じ種類のオペレーションシステムが第1仮想マシン41と第2仮想マシン42のそれぞれにおいて個別に動作する態様も含まれる。なお、第1記憶部101及び第2記憶部102は、それぞれ第1仮想マシン41及び第2仮想マシン42に含まれるが、本実施形態では、第1記憶部101及び第2記憶部102を第1仮想マシン41及び第2仮想マシン42とは区別して記載する。
(First embodiment)
<Configuration of Data Processing Device 1>
FIG. 1 is a block diagram illustrating the configuration of a data processing apparatus 1 according to the first embodiment of the present invention. As shown in FIG. 1, the data processing apparatus 1 includes a first virtual machine 41, a second virtual machine 42, a first storage unit 101, a second storage unit 102, and an output unit 105. . The data processing device 1 is realized as a device having a communication function such as a mobile phone, a PDA (Personal Digital Assistant), and a personal computer (PC). The first virtual machine 41 and the second virtual machine 42 included in the data processing apparatus 1 are virtual machines that operate with different operation systems. The “different operation system” here includes a mode in which the same type of operation system operates individually in each of the first virtual machine 41 and the second virtual machine 42. Note that the first storage unit 101 and the second storage unit 102 are included in the first virtual machine 41 and the second virtual machine 42, respectively, but in the present embodiment, the first storage unit 101 and the second storage unit 102 are the first storage unit 102 and the second storage unit 102. The first virtual machine 41 and the second virtual machine 42 are distinguished from each other.

データ処理装置1の構成の詳細を説明する前に、まず、データ処理装置1に含まれる第1仮想マシン41及び第2仮想マシン42について説明する。本実施形態において、仮想化とは、1台分のハードウェア構成からなる装置(コンピュータ)を仮想化ソフトウェア(Virtual Machine Monitor:VMM)を実行することにより仮想的に複数の装置のように動作させることである。データ処理装置1に含まれる第1仮想マシン41及び第2仮想マシン42は、仮想化ソフトウェアにより作り出された仮想的な装置のことをいい、これらの仮想マシンでは、それぞれオペレーションシステム(Operating System:OS)及びアプリケーションプログラム(プログラム)が実行される。アプリケーションプログラムとは、例えば、データ処理装置1が携帯電話である場合、他の携帯電話からの着信があった場合に、発信者に応じて異なる着信メロディを鳴らすためのプログラム等である。   Before describing details of the configuration of the data processing apparatus 1, first, the first virtual machine 41 and the second virtual machine 42 included in the data processing apparatus 1 will be described. In this embodiment, virtualization means that a device (computer) having a hardware configuration for one device is virtually operated as a plurality of devices by executing virtualization software (Virtual Machine Monitor: VMM). That is. The first virtual machine 41 and the second virtual machine 42 included in the data processing apparatus 1 are virtual apparatuses created by virtualization software, and each of these virtual machines has an operating system (Operating System: OS). ) And an application program (program) are executed. The application program is, for example, a program for sounding a different incoming melody depending on a caller when the data processing apparatus 1 is a mobile phone and an incoming call is received from another mobile phone.

以下、図2及び図3を用いながら上記の仮想マシンについて具体的に説明する。図2は、データ処理装置1のハードウェア構成を説明する図である。また、図3は、データ処理装置1のソフトウェア構成を説明する図である。   The above virtual machine will be specifically described below with reference to FIGS. FIG. 2 is a diagram for explaining the hardware configuration of the data processing apparatus 1. FIG. 3 is a diagram for explaining the software configuration of the data processing apparatus 1.

図2に示すように、データ処理装置1は、CPU(Central Processing Unit)20、メモリ21、記憶装置30、キーパッド31、ディスプレイ32、スピーカー33、及び通信部34を含んで構成される。   As shown in FIG. 2, the data processing device 1 includes a CPU (Central Processing Unit) 20, a memory 21, a storage device 30, a keypad 31, a display 32, a speaker 33, and a communication unit 34.

CPU20は、メモリ21上のプログラムを実行する機能を備える。本実施形態におけるデータ処理装置1では、1つのCPU20上で動作する複数の仮想的な装置(仮想マシン)を作り出すプログラムであるVMMを動作させることにより、第1仮想マシン41及び第2仮想マシン42が作り出される。   The CPU 20 has a function of executing a program on the memory 21. In the data processing apparatus 1 according to the present embodiment, the first virtual machine 41 and the second virtual machine 42 are operated by operating a VMM that is a program that creates a plurality of virtual apparatuses (virtual machines) operating on one CPU 20. Is produced.

メモリ21は、記憶装置30からロード(読み込み)されたプログラムやデータを格納する機能を備える。データ処理装置1では、上述のVMM、OS、アプリケーションプログラム等が記憶装置30からロードされ、CPU20により実行される。   The memory 21 has a function of storing programs and data loaded (read) from the storage device 30. In the data processing device 1, the above-described VMM, OS, application program, and the like are loaded from the storage device 30 and executed by the CPU 20.

記憶装置30は、メモリ21にロードされCPU20により実行されるプログラムやデータを保存する機能を有する。データ処理装置1が例えばPCである場合にはハードディスクドライブが記憶装置30として用いられる。また、データ処理装置1が例えば携帯電話である場合にはフラッシュメモリが記憶装置30として用いられる。   The storage device 30 has a function of storing programs and data that are loaded into the memory 21 and executed by the CPU 20. When the data processing device 1 is a PC, for example, a hard disk drive is used as the storage device 30. Further, when the data processing device 1 is a mobile phone, for example, a flash memory is used as the storage device 30.

キーパッド31は、CPU20において実行されるプログラムに対して入力を行うための入力デバイスである。   The keypad 31 is an input device for inputting to a program executed in the CPU 20.

ディスプレイ32は、CPU20において実行されたプログラムの処理結果を表示するデバイスである。また、スピーカー33は、CPU20において実行されたプログラムの処理結果を音により出力するデバイスである。CPU20において実行されたプログラムが例えば音声データや音楽データを用いる場合、プログラムの処理結果として音声や音楽がスピーカー33から出力される。また、CPU20において実行されたプログラムが例えば画像と音声を含むデータを用いる場合、プログラムの処理結果として画像がディスプレイ32に表示されると共に、音声がスピーカー33から出力される。   The display 32 is a device that displays the processing result of the program executed by the CPU 20. The speaker 33 is a device that outputs the processing result of the program executed in the CPU 20 by sound. When the program executed in the CPU 20 uses, for example, audio data or music data, audio or music is output from the speaker 33 as a processing result of the program. When the program executed in the CPU 20 uses data including an image and sound, for example, an image is displayed on the display 32 as a processing result of the program, and sound is output from the speaker 33.

通信部34は、CPU20で実行されたプログラムが他の装置と通信するための入出力デバイスである。データ処理装置1がPCである場合にはイーサネットアダプタが通信部34として用いられ、携帯電話である場合には携帯電話網の通信プロセッサが通信部34として用いられる。   The communication unit 34 is an input / output device for the program executed by the CPU 20 to communicate with other devices. When the data processing apparatus 1 is a PC, an Ethernet adapter is used as the communication unit 34. When the data processing device 1 is a mobile phone, a communication processor of a mobile phone network is used as the communication unit 34.

続いて、図3を参照して、上記のハードウェア構成を備えるデータ処理装置1のメモリ21の内部に格納される仮想化マシンを実現するための情報について説明する。   Next, with reference to FIG. 3, information for realizing the virtual machine stored in the memory 21 of the data processing apparatus 1 having the above hardware configuration will be described.

仮想化ソフトウェア(VMM)40は、1つのCPU20上で複数の仮想的な装置(仮想マシン)を作り出すプログラムであり、仮想化ソフトウェア40が実効されることにより、本実施形態に係るデータ処理装置1において、メモリ21の内部に第1仮想マシン41を実現するための情報及び第2仮想マシン42を実現するための情報が新たに格納される。仮想化ソフトウェア40の代表例としては、VMWare、Xen、Virtualbox(いずれも商品名)が挙げられる。この第1仮想マシン41及び第2仮想マシン42の内部では、OSやアプリケーションプログラムがそれぞれ独立して実行される。ただし、プログラムの処理結果を出力するディスプレイ32やスピーカー33は、図2に示すようにデータ処理装置1において1つしか備えられておらず、これを第1仮想マシン41や第2仮想マシン42から利用する場合、タイミングによっては各仮想マシンからのアクセスが衝突する可能性がある。また、第1仮想マシン41及び第2仮想マシン42において実行されるプログラムに対してデータの入力等を行うキーパッド31や、通信部34等のデバイスについても、同様である。したがって、データ処理装置1のように内部に仮想マシンを作り出す装置においては、上述のデバイスを複数のOSが共有して使えるような仕組みが構築される。   The virtualization software (VMM) 40 is a program that creates a plurality of virtual devices (virtual machines) on one CPU 20, and the data processing device 1 according to the present embodiment is executed when the virtualization software 40 is executed. , Information for realizing the first virtual machine 41 and information for realizing the second virtual machine 42 are newly stored in the memory 21. Representative examples of the virtualization software 40 include VMWare, Xen, and Virtualbox (all are trade names). In the first virtual machine 41 and the second virtual machine 42, the OS and application programs are executed independently. However, as shown in FIG. 2, the data processing apparatus 1 has only one display 32 or speaker 33 that outputs the processing result of the program, and this is provided from the first virtual machine 41 or the second virtual machine 42. When using, access from each virtual machine may collide depending on the timing. The same applies to devices such as the keypad 31 for inputting data and the like to programs executed in the first virtual machine 41 and the second virtual machine 42 and the communication unit 34. Therefore, in a device that creates a virtual machine inside, such as the data processing device 1, a mechanism is built so that a plurality of OSs can share the above-described device.

デバイスを複数のOSが共有して使えるような仕組みとしては、例えば、デバイスの動作を仮想マシンが個別に制御できるように、図3に示すように第1仮想マシン(を制御するための情報)41の内部において、スピーカー33を制御するための情報(例えば、デバイスドライバ)41Aと、ディスプレイ32を制御するための情報41Bを格納する。そして、第2仮想マシン(を制御するための情報)42の内部において、スピーカー33を制御するための情報42Aと、ディスプレイ32を制御するための情報42Bを格納する。そして、どの仮想マシンがどのデバイスに対してアクセスしているのかの対応付けを、仮想化ソフトウェア40において管理する。このようにすることで、例えば第1仮想マシン41において処理を行った結果は、スピーカー33を制御するための情報41Aと、ディスプレイ32を制御するための情報41Bを用いることで、スピーカー33及びディスプレイ32に対して出力される。なお、上記の仕組みのほか、デバイスの動作をデータ処理装置1に含まれる特定の仮想マシンが集中管理する態様とすることができる。   As a mechanism that allows a plurality of OSs to share and use a device, for example, the first virtual machine (information for controlling) as shown in FIG. 3 so that the virtual machine can individually control the operation of the device. In 41, information (for example, device driver) 41A for controlling the speaker 33 and information 41B for controlling the display 32 are stored. In the second virtual machine (information for controlling) 42, information 42A for controlling the speaker 33 and information 42B for controlling the display 32 are stored. The virtualization software 40 manages the association of which virtual machine is accessing which device. In this way, for example, the result of processing in the first virtual machine 41 is obtained by using the information 41A for controlling the speaker 33 and the information 41B for controlling the display 32, so that the speaker 33 and the display 32 is output. In addition to the above mechanism, a mode in which a specific virtual machine included in the data processing apparatus 1 centrally manages the operation of the device can be adopted.

なお、本実施形態では、第1仮想マシン41及び第2仮想マシン42がそれぞれ異なる目的で動作する場合について説明する。具体的には、第1仮想マシン41は、アプリケーションプログラムの実行を主たる目的として機能する。第1仮想マシン41におけるアプリケーションプログラムの実行に際しては、後述の第2仮想マシン42のように実行内容等の制限はされない。このアプリケーションプログラムは、データ処理装置1にあらかじめ格納されているもののほか、データ処理装置1の利用者により追加される場合がある。データ処理装置1に対してアプリケーションプログラムが追加される場合は、第1仮想マシン41に格納され、このアプリケーションプログラムは第1仮想マシン41において実行される。したがって、第1仮想マシン41では、例えばウイルスやスパイウェア等の悪意のあるアプリケーションプログラムが追加されて実行される可能性があり、その結果、情報漏洩や誤動作等が発生するリスクがある。   In the present embodiment, a case where the first virtual machine 41 and the second virtual machine 42 operate for different purposes will be described. Specifically, the first virtual machine 41 functions mainly for execution of application programs. When the application program is executed in the first virtual machine 41, the execution contents and the like are not limited as in the second virtual machine 42 described later. The application program may be added by the user of the data processing apparatus 1 in addition to the application program stored in the data processing apparatus 1 in advance. When an application program is added to the data processing apparatus 1, the application program is stored in the first virtual machine 41, and this application program is executed in the first virtual machine 41. Therefore, in the first virtual machine 41, there is a possibility that a malicious application program such as a virus or spyware may be added and executed. As a result, there is a risk that information leakage or malfunction occurs.

一方、第2仮想マシン42は、ウイルスやスパイウェア等による脅威に晒してはならない重要なデータの保持や、この情報を用いてアプリケーションプログラムを実行することを主たる目的として機能する。第2仮想マシン42に保持されるデータとは、例えば、個人情報に係るデータなどのほか、ネットワークを介して購入した再配布等が禁止されているコンテンツデータ等が挙げられる。これらの情報は、第2仮想マシンの内部(本実施形態では、第2記憶部102)に格納されると共に、第2仮想マシン42においてのみ当該データを用いた処理が行われる。また、第2仮想マシン42において用いられるアプリケーションプログラムは、第2仮想マシン42において保持されるデータを用いた処理のみに対して用いられるものであり、あらかじめデータ処理装置1に格納されているものである。このような態様とすることで、第2仮想マシン42に格納されるデータが外部に流出することや、悪意のあるアプリケーションプログラムによって消去や改ざん等がなされることを防止することができる。   On the other hand, the second virtual machine 42 functions mainly for holding important data that should not be exposed to threats from viruses, spyware, and the like, and for executing application programs using this information. The data held in the second virtual machine 42 includes, for example, data related to personal information, content data that is prohibited from being redistributed through a network, and the like. These pieces of information are stored in the second virtual machine (in the present embodiment, the second storage unit 102), and processing using the data is performed only in the second virtual machine 42. The application program used in the second virtual machine 42 is used only for processing using data held in the second virtual machine 42 and is stored in the data processing apparatus 1 in advance. is there. By adopting such an aspect, it is possible to prevent the data stored in the second virtual machine 42 from leaking to the outside or being erased or falsified by a malicious application program.

なお、本実施形態では、データ処理装置1が上記の構成を備える携帯電話である場合について説明する。具体的には、インターネット等を介してダウンロードした音楽データを第2仮想マシン42に含まれる第2記憶部102に格納し、第1仮想マシン41に格納される電話アプリケーションプログラムによって、第2仮想マシン42に格納された音楽データを着信音として用いる場合について説明する。   In the present embodiment, a case where the data processing device 1 is a mobile phone having the above-described configuration will be described. Specifically, music data downloaded via the Internet or the like is stored in the second storage unit 102 included in the second virtual machine 42, and the second virtual machine is stored by the telephone application program stored in the first virtual machine 41. The case where the music data stored in 42 is used as a ring tone will be described.

データ処理装置1において、例えばインターネット等を介して音楽データを購入した場合、悪意のあるアプリケーションプログラムにより例えば購入した音楽データ(購入音楽データ)のコピーが作成されることや、削除されること等はビジネス上の問題となるため、購入音楽データは、第2記憶部102に格納される。一方、本実施形態のデータ処理装置1では、例えばデータ処理装置1が携帯電話であって、データ処理装置1に対して着信があった場合に着信音を鳴らして所有者に通知を行う機能は、第1仮想マシン41に格納されるアプリケーションプログラム(電話アプリ)によって行われる。このとき、第1仮想マシン41に格納されるアプリケーションプログラムが第2記憶部102に格納されるデータを使用することができないため、電話アプリは第2記憶部102に格納される購入音楽データを用いることができないという問題がある。本実施形態の以下の説明では、上記のように、第2記憶部102に購入音楽データが格納され、第1仮想マシン41に格納される電話アプリが当該購入音楽データを着信音として利用する場合を例に説明する。   In the data processing apparatus 1, for example, when music data is purchased via the Internet or the like, for example, a copy of purchased music data (purchased music data) is created or deleted by a malicious application program. Since this is a business problem, the purchased music data is stored in the second storage unit 102. On the other hand, in the data processing device 1 according to the present embodiment, for example, when the data processing device 1 is a mobile phone and the data processing device 1 receives an incoming call, the function of sounding a ringtone and notifying the owner This is performed by an application program (phone application) stored in the first virtual machine 41. At this time, since the application program stored in the first virtual machine 41 cannot use the data stored in the second storage unit 102, the telephone application uses the purchased music data stored in the second storage unit 102. There is a problem that can not be. In the following description of the present embodiment, as described above, purchased music data is stored in the second storage unit 102, and the telephone application stored in the first virtual machine 41 uses the purchased music data as a ring tone. Will be described as an example.

図1に戻り、第1仮想マシン41及び第2仮想マシン42を備えるデータ処理装置1の具体的な構成について説明する。上述のように、データ処理装置1は、第1仮想マシン41と、第2仮想マシン42と、第1記憶部101と、第2記憶部102と、出力部105と、を含んで構成される。第1記憶部101は、第1仮想マシン41において用いられるデータを格納するための第1仮想マシン41専用の記憶領域であり、第2記憶部102は、第2仮想マシン42において用いられるデータを格納するための第2仮想マシン42専用の記憶領域である。   Returning to FIG. 1, a specific configuration of the data processing apparatus 1 including the first virtual machine 41 and the second virtual machine 42 will be described. As described above, the data processing apparatus 1 includes the first virtual machine 41, the second virtual machine 42, the first storage unit 101, the second storage unit 102, and the output unit 105. . The first storage unit 101 is a storage area dedicated to the first virtual machine 41 for storing data used in the first virtual machine 41, and the second storage unit 102 stores data used in the second virtual machine 42. This is a storage area dedicated to the second virtual machine 42 for storing.

ここで、第1記憶部101及び第2記憶部102において格納されるデータについて説明する。本実施形態のデータ処理装置1では、第1仮想マシン41に対するデータを用いた処理命令を受信し、この処理命令に基づいて第2仮想マシン(本実施形態では第2記憶部102)に格納されるデータを用いてプログラムが実行される。このため、第2記憶部102には、本実施形態において用いられる実データD01が格納される。一方、第1記憶部101には、この実データD01に対応付けられた仮想データD11が格納される。仮想データD11と実データD01との対応付けは、例えば、第2記憶部102に格納される実データD01のファイル名と同じファイル名を有する仮想データD11を作成すること等により行われる。また、仮想データD11に対して行うことができる処理の内容として、実データD01を用いて行うことができる処理の内容が対応付けられている。なお、実データD01を用いて行うことができる処理の内容とは、実データD01の拡張子により特定されるファイルの種類等に基づくものであり、例えば、実データD01の拡張子が「.mp3」である場合には、「再生処理」が実データD01を用いて実行することが許容される処理として挙げられる。したがって、実データD01に対応付けられた仮想データD11を用いて実行が許容される処理内容を特定する情報として、「再生処理」を特定する情報が仮想データD11に対応付けられる。なお、仮想データD11を用いて実行すること処理内容を特定する情報として、第1仮想マシン41において使用され、実データD01の利用を要求することが想定されるアプリケーションプログラムを仮想データD11と対応付けてもよい。本実施形態のデータ処理装置1では、購入音楽データである実データD01の出力要求を第1仮想マシン41において動作する電話アプリが行うことを想定し、電話アプリが仮想データD11と対応付けられている。   Here, data stored in the first storage unit 101 and the second storage unit 102 will be described. In the data processing apparatus 1 of the present embodiment, a processing instruction using data for the first virtual machine 41 is received, and stored in the second virtual machine (second storage unit 102 in the present embodiment) based on the processing instruction. The program is executed using the data. For this reason, the second storage unit 102 stores actual data D01 used in the present embodiment. On the other hand, the first storage unit 101 stores virtual data D11 associated with the actual data D01. The association between the virtual data D11 and the actual data D01 is performed, for example, by creating virtual data D11 having the same file name as the file name of the actual data D01 stored in the second storage unit 102. Further, as the contents of the process that can be performed on the virtual data D11, the contents of the process that can be performed using the actual data D01 are associated. The contents of processing that can be performed using the actual data D01 are based on the type of file specified by the extension of the actual data D01. For example, the extension of the actual data D01 is “.mp3”. "Is a process that is permitted to be performed using the actual data D01. Therefore, information for specifying “reproduction processing” is associated with the virtual data D11 as information for specifying the processing content allowed to be executed using the virtual data D11 associated with the actual data D01. Note that, as information for specifying the processing content to be executed using the virtual data D11, an application program that is used in the first virtual machine 41 and is assumed to request use of the actual data D01 is associated with the virtual data D11. May be. In the data processing apparatus 1 of the present embodiment, assuming that the telephone application operating in the first virtual machine 41 makes an output request for the actual data D01 that is purchased music data, the telephone application is associated with the virtual data D11. Yes.

仮想データD11と実データD01との対応関係については、例えば表等にまとめられて第2記憶部102に格納される。すなわち、仮想データD11が電話アプリにより使用されるデータであるということを示す情報は、仮想データD11に対応付けられて保持されるが、仮想データD11と対応付けられた実データD01を特定する情報は第1記憶部101においては格納されない。これにより、第1仮想マシン41において悪意のあるアプリケーションプログラムが動作した場合であっても、第2仮想マシン42に格納される実データを特定する情報がアプリケーションプログラムにより取得されることを避けることができる。   The correspondence between the virtual data D11 and the actual data D01 is collected in a table or the like and stored in the second storage unit 102, for example. That is, information indicating that the virtual data D11 is data used by the telephone application is stored in association with the virtual data D11, but information that identifies the actual data D01 associated with the virtual data D11. Are not stored in the first storage unit 101. Thereby, even when a malicious application program operates in the first virtual machine 41, it is possible to avoid the information specifying the actual data stored in the second virtual machine 42 being acquired by the application program. it can.

そして、第1仮想マシン41において受信された仮想データD11を用いた処理の命令に基づいて、第1仮想マシン41から第2仮想マシン42に対して、この仮想データD11に対応付けられた実データD01を用いた処理が要求され、第2仮想マシン42において実データD01を用いた処理が実行される。なお、上述のように第1仮想マシン41では仮想データD11に対応付けられた実データD01を特定する情報は保持されていない。したがって、第1仮想マシン41から第2仮想マシン42に対して行われる処理要求は、実データD01を特定した情報を含む処理要求ではない。すなわち、仮想データD11を特定した情報を用いることにより、当該仮想データD11に対応する実データの処理の要求が第1仮想マシン41から第2仮想マシン42に対して行われる。   Then, based on the processing instruction using the virtual data D11 received by the first virtual machine 41, the actual data associated with the virtual data D11 from the first virtual machine 41 to the second virtual machine 42. The process using D01 is requested, and the process using the actual data D01 is executed in the second virtual machine. As described above, the first virtual machine 41 does not hold information for specifying the actual data D01 associated with the virtual data D11. Therefore, the processing request made from the first virtual machine 41 to the second virtual machine 42 is not a processing request including information specifying the actual data D01. That is, by using the information specifying the virtual data D11, a request for processing of actual data corresponding to the virtual data D11 is made from the first virtual machine 41 to the second virtual machine 42.

第2記憶部102に格納される実データD01と、第1記憶部101に格納される仮想データD11と、の対応付けの例を図4〜図6を用いて説明する。図4に示す例では、データ処理装置1において実データと仮想データにつけるファイル名についてあらかじめルールを決めておき、この情報を記憶しておく。具体的には、第2記憶部102に格納される実データについてはそのファイル名を「real***」とし、第1記憶部101に格納される仮想データについてはそのファイル名を「virtual***」とするというルールをあらかじめ決め、第2記憶部102に格納する。そして、新たに仮想データを作成する際には、このルールに基づいてファイル名をつける。図4では、第2記憶部102に格納される実データD01のファイル名は「real.mp3」であり、その中身は購入音楽データであり、実データD01に対応付けて第1記憶部101に格納される仮想データD11のファイル名は「virtual.mp3」である。このため、実データD01と仮想データD11とが対応付けられて作成されたものであることということを、第2記憶部102に格納された上記の対応付けを参照することにより第2仮想マシン42において判断することができる。なお、仮想データD11は、例えば、ファイル名のみのデータのように、このデータを用いてプログラムを実行しても何も処理結果が発生しないデータである。なお、第1記憶部101に格納される他のデータD21及びD22は、購入音楽データとは異なるデータ(例えば自作のデータ等)であるため、第1記憶部101に格納され、第1仮想マシン41に格納されるアプリケーションプログラム(電話アプリ)はこれらのデータD21及びD22を用いてプログラムを実行することができる。   An example of association between the actual data D01 stored in the second storage unit 102 and the virtual data D11 stored in the first storage unit 101 will be described with reference to FIGS. In the example shown in FIG. 4, rules are determined in advance for file names to be assigned to real data and virtual data in the data processing apparatus 1, and this information is stored. Specifically, the file name of the real data stored in the second storage unit 102 is “real ***”, and the virtual data stored in the first storage unit 101 is “virtual *”. The rule “**” is determined in advance and stored in the second storage unit 102. When newly creating virtual data, a file name is assigned based on this rule. In FIG. 4, the file name of the real data D01 stored in the second storage unit 102 is “real.mp3”, and the content is purchased music data, and is associated with the real data D01 in the first storage unit 101. The file name of the virtual data D11 to be stored is “virtual.mp3”. Therefore, the fact that the real data D01 and the virtual data D11 are created in association with each other is referred to by referring to the association stored in the second storage unit 102, the second virtual machine 42. Can be determined. Note that the virtual data D11 is data in which no processing result is generated even if a program is executed using this data, such as data having only a file name. The other data D21 and D22 stored in the first storage unit 101 are data different from the purchased music data (for example, self-made data), and thus are stored in the first storage unit 101 and are stored in the first virtual machine. The application program (telephone application) stored in 41 can execute the program using these data D21 and D22.

図5は、実データと、仮想データとを対応付ける他の例について説明する図である。図5に示す例では、第2記憶部102に格納される実データD02と、第1記憶部101に格納される仮想データD12と、のファイル名は共通の「music.mp3」とされており、さらに仮想データD12のヘッダには、このデータが仮想データであることを示すフラグが記載される。このフラグとして用いられるのは、例えば通常のデータには用いられない特殊な値や文字列等である。このように、ファイル名を共通とし、仮想データのヘッダにそのデータが仮想データであるフラグを付与することで、第2記憶部102に格納される実データと第1記憶部101に格納される仮想データとを対応付ける方法もある。   FIG. 5 is a diagram for explaining another example of associating real data with virtual data. In the example shown in FIG. 5, the common data D02 stored in the second storage unit 102 and the virtual data D12 stored in the first storage unit 101 have a common file name “music.mp3”. Furthermore, a flag indicating that this data is virtual data is described in the header of the virtual data D12. For example, a special value or character string that is not used for normal data is used as this flag. In this way, the file name is made common, and the virtual data header is given a flag indicating that the data is virtual data, so that the real data stored in the second storage unit 102 and the first storage unit 101 are stored. There is also a method for associating virtual data.

図6は、実データと、仮想データとを対応付ける他の例について説明する図である。図6に示す例では、第2記憶部102に格納される実データD03と、第1記憶部101に格納される仮想データD13と、は共通のファイル名「enka.mp3」とされている。また、実データD04と仮想データD14と、は共通のファイル名「jazz.mp3」を付与して第2記憶部102と第1記憶部101とにそれぞれ格納される。さらに、図6に示す例では、第1記憶部101に格納される仮想データを表にまとめた仮想データリストD25が格納される。この場合には、仮想データリストD25を参照することにより、第1記憶部101に格納されるデータが仮想データであることを確認することができる。このように、種々の方法により、第2記憶部102に格納される実データと第1記憶部101に格納される仮想データとを対応付けることができる。   FIG. 6 is a diagram for explaining another example of associating real data with virtual data. In the example illustrated in FIG. 6, the real data D03 stored in the second storage unit 102 and the virtual data D13 stored in the first storage unit 101 have a common file name “enka.mp3”. The real data D04 and the virtual data D14 are stored in the second storage unit 102 and the first storage unit 101, respectively, with a common file name “jazz.mp3”. Further, in the example illustrated in FIG. 6, a virtual data list D25 in which virtual data stored in the first storage unit 101 is collected in a table is stored. In this case, it is possible to confirm that the data stored in the first storage unit 101 is virtual data by referring to the virtual data list D25. As described above, the actual data stored in the second storage unit 102 and the virtual data stored in the first storage unit 101 can be associated with each other by various methods.

また、実データと、仮想データとを対応付ける他の方法として、図6において記憶部101に格納される仮想データリストD25に含まれる各仮想データに対して、第2記憶部102に格納される実データを更に対応付けたリストを第2記憶部102に格納する態様とすることもできる。この場合、第1記憶部101に格納される仮想データのファイル名と、第2記憶部102に格納される実データのファイル名とを第1仮想マシンにおいて特に対応付ける必要はなく、第1記憶部101に格納される仮想データが第2記憶部102に格納されるどの実データに対応するかは、第2仮想マシンにおいて第2記憶部102に格納されるリストを参照することにより確認することができる。   Further, as another method for associating real data with virtual data, each virtual data included in the virtual data list D25 stored in the storage unit 101 in FIG. 6 is stored in the second storage unit 102. A list in which data is further associated may be stored in the second storage unit 102. In this case, it is not necessary to associate the file name of the virtual data stored in the first storage unit 101 and the file name of the actual data stored in the second storage unit 102 in the first virtual machine. It can be confirmed by referring to the list stored in the second storage unit 102 in the second virtual machine which virtual data stored in the second storage unit 102 corresponds to the virtual data stored in the second storage unit 102. it can.

図1に戻り、データ処理装置1に含まれる第1仮想マシン41の構成について説明する。第1仮想マシン41は、受信部201と、判定部202と、処理要求部203と、更新部205と、を含んで構成される。   Returning to FIG. 1, the configuration of the first virtual machine 41 included in the data processing apparatus 1 will be described. The first virtual machine 41 includes a reception unit 201, a determination unit 202, a processing request unit 203, and an update unit 205.

受信部201は、処理内容を特定する情報が含まれ、仮想データを用いた処理命令を受信する受信手段として機能する。受信部201により受信される処理命令とは、例えば第1仮想マシン41において実行することが可能なアプリケーションプログラムが実行されることにより発せられる命令である。より具体的には、例えば、データ処理装置1に対して着信があった場合に、電話アプリが実行されることにより、発信元の情報に基づいて特定の音楽データを着信音として再生するために、特定の音楽データを指定して、当該音楽データを再生しスピーカー33から出力するために第1仮想マシン41において行う命令を処理命令といい、具体的には、当該音楽データの利用を要求する命令(利用命令)と、利用命令により特定された音楽データのスピーカー33への出力を要求する命令(出力命令)とが含まれる。ここで、電話アプリからなされる処理命令は、対象が実データ(例えば、図4のデータD21)であるか仮想データであるかに関係なく、特定のデータを指定し、そのデータの利用を要求するものである。本実施形態の場合、仮想データD11に対するアクセス及び仮想データD11の利用要求が電話アプリから送信され、受信部201において受信される。そして、受信部201では、この処理命令が仮想データD11に対する処理命令であるか確認され、仮想データD11に対する処理命令である場合には、判定部202へ送られる。なお、上記の利用命令と出力命令とは、電話アプリから利用命令、出力命令の順序で異なるタイミングで送信され、受信部201において個別に受信される。   The receiving unit 201 includes information for specifying processing contents, and functions as a receiving unit that receives a processing instruction using virtual data. The processing command received by the receiving unit 201 is a command issued when an application program that can be executed in the first virtual machine 41 is executed, for example. More specifically, for example, in order to reproduce specific music data as a ring tone based on information of a transmission source by executing a telephone application when an incoming call is received to the data processing device 1 An instruction to be performed in the first virtual machine 41 in order to specify specific music data, reproduce the music data, and output the music data from the speaker 33 is called a processing instruction. Specifically, the use of the music data is requested. A command (use command) and a command (output command) for requesting output of the music data specified by the use command to the speaker 33 are included. Here, the processing command issued from the telephone application specifies specific data and requests the use of the data regardless of whether the target is actual data (for example, data D21 in FIG. 4) or virtual data. To do. In the present embodiment, an access to the virtual data D11 and a request for using the virtual data D11 are transmitted from the telephone application and received by the receiving unit 201. Then, the receiving unit 201 confirms whether this processing command is a processing command for the virtual data D11. If the processing command is a processing command for the virtual data D11, the reception unit 201 sends it to the determination unit 202. The usage command and the output command are transmitted from the telephone application at different timings in the order of the usage command and the output command, and are received individually by the receiving unit 201.

判定部202は、受信部201により受信された処理命令(利用命令)に含まれる処理内容を特定する情報に基づいて、仮想データD11に対して処理を実行することが許容されるか否かを判定する判定手段として機能する。具体的には、仮想データD11に電話アプリが対応付けられているかどうかに基づいて、処理を実行することが許容されるか判定される。本実施形態では、仮想データD11にあらかじめ電話アプリが対応付けられていることから仮想データD11を用いて電話アプリによる処理を実行することができると判定される。この場合には、例えば、判定部202において、電話アプリが仮想データD11を利用中である旨のフラグが保持される。   The determination unit 202 determines whether or not to execute the process on the virtual data D11 based on the information specifying the processing content included in the processing instruction (use instruction) received by the receiving unit 201. It functions as a determination means for determining. Specifically, it is determined whether or not the process is permitted based on whether or not the telephone application is associated with the virtual data D11. In the present embodiment, since the telephone application is associated with the virtual data D11 in advance, it is determined that the process using the telephone application can be executed using the virtual data D11. In this case, for example, the determination unit 202 holds a flag indicating that the telephone application is using the virtual data D11.

ここで、判定部202により、処理命令に含まれる処理内容を特定する情報(本実施形態では、電話アプリ)が仮想データD11に対応付けられないと判定された場合は、処理命令に基づいて処理を行うことなく、以降の処理を中止する。また、判定部202において、以降の処理を中止した旨が判定部202からアクセス要求を行った電話アプリに対して通知される。上記の受信部201及び判定部202は、例えば着信音判定モジュールとして実現される。   Here, when the determination unit 202 determines that the information specifying the processing content included in the processing instruction (in this embodiment, the telephone application) is not associated with the virtual data D11, the processing is performed based on the processing instruction. The subsequent processing is canceled without performing the operation. In addition, the determination unit 202 notifies the telephone application that has made an access request from the determination unit 202 that the subsequent processing has been stopped. The reception unit 201 and the determination unit 202 are realized as, for example, a ring tone determination module.

処理要求部203は、判定部202における判定結果に基づいて、仮想データD11に対応付けられた実データD01の処理を第2仮想マシン42に対して要求する処理要求手段として機能する。本実施形態では、電話アプリからの処理命令を受信した後に、電話アプリから送信される仮想データD11のスピーカー33への出力を要求する出力命令に基づいて、仮想データD11を特定する情報を用いて、当該仮想データD11に対応付けられた実データを出力するよう第2仮想マシン42に対して要求する。この際、処理要求部203では、電話アプリからの処理命令(利用命令)が、実データD01を用いた処理が許容される処理内容であると判定部202において判断されたかどうかを確認するために、上述のように判定部202において保持されたフラグの有無が確認される。そして、処理要求部203により、フラグを確認できた場合には、上述の処理が行われる。ただし、処理要求部203を含む第1仮想マシン41においては、仮想データD11に対応する実データを把握していないため、対応する実データの特定は後述の第2仮想マシン42において行われる。処理要求部203は、自身も出力部105に対して出力指示を行うオーディオドライバとして実現される。   The process request unit 203 functions as a process request unit that requests the second virtual machine 42 to process the actual data D01 associated with the virtual data D11 based on the determination result in the determination unit 202. In the present embodiment, after receiving the processing command from the telephone application, the information specifying the virtual data D11 is used based on the output command for requesting the output of the virtual data D11 transmitted from the telephone application to the speaker 33. The second virtual machine 42 is requested to output real data associated with the virtual data D11. At this time, the processing request unit 203 confirms whether the processing command (use command) from the telephone application is determined by the determination unit 202 as processing content that allows processing using the actual data D01. As described above, the presence or absence of the flag held in the determination unit 202 is confirmed. When the processing request unit 203 can confirm the flag, the above-described processing is performed. However, since the first virtual machine 41 including the processing request unit 203 does not grasp the actual data corresponding to the virtual data D11, the corresponding actual data is specified in the second virtual machine 42 described later. The processing request unit 203 is also realized as an audio driver that itself issues an output instruction to the output unit 105.

更新部205は、後述の第2仮想マシン42に含まれる通知部212から通知される変更情報に基づいて、第1記憶部101に格納される仮想データを更新する更新手段として機能する。更新部205による更新内容は、例えば、新たな仮想データの作成及び削除のほか、例えば仮想データに対応付けられる実データに対して許容される処理の情報の変更等も含まれる。更新部205が更新を行う場合は、上述の例のようにあらかじめ定められた実データと仮想データとの対応付けのルールに基づいて、新たなファイル名を持つ仮想データの作成や、仮想データの削除等が行われる。   The update unit 205 functions as an update unit that updates virtual data stored in the first storage unit 101 based on change information notified from a notification unit 212 included in the second virtual machine 42 described later. The update content by the update unit 205 includes, for example, creation of new virtual data and deletion, as well as change of processing information allowed for real data associated with virtual data, for example. When the updating unit 205 performs the update, the virtual data having a new file name is created based on the rules for associating the actual data with the virtual data, as in the above example, or the virtual data Deletion is performed.

次に、データ処理装置1に含まれる第2仮想マシン42の構成について説明する。第2仮想マシン42は、実行処理部211と、通知部212と、を含んで構成される。   Next, the configuration of the second virtual machine 42 included in the data processing apparatus 1 will be described. The second virtual machine 42 includes an execution processing unit 211 and a notification unit 212.

実行処理部211は、実データD01を用いて実行されるプログラムを格納し、第1仮想マシン41からの要求に基づいて、仮想データD11に対応する実データD01を用いて上記プログラムを実行する実行処理手段として機能する。実行処理部211は、実データD01を用いて実行することが許容される処理に対応するプログラム(本実施形態では、音楽データを再生しその結果をスピーカー33に出力するプログラム)をあらかじめ格納し、第1仮想マシン41の処理要求部203から送信される仮想データD11を特定する情報に対応付けられた実データに対する処理要求に基づいて、まず仮想データD11に対応付けられた実データD01を特定し、続いてこの実データD01をスピーカー33に出力するプログラムを実行する。具体的には、実データD01を読み込み、必要に応じてデコードし、さらにデバイス(再生装置等)に対して出力する。上記の処理を行った結果をデータ処理装置1において出力する場合には、この結果を後述の出力部105に送信する。また、処理を行った結果を他の装置等で出力する場合には、処理結果を他の装置に対して送信する。なお、上記の処理を行う際には、実データD01のデータの種類(例えば、画像データ、音楽データ、等)を実行処理部211において判断する必要がある。この判断方法としては、具体的には、例えば、実データD01のファイル名に付加される拡張子を参照する方法のほか、実データD01のデータ種類を特定する情報が記載されるヘッダを実行処理部211が直接参照する方法を用いることができる。この実行処理部211は、例えば着信音再生モジュールとして実現される。   The execution processing unit 211 stores a program to be executed using the real data D01, and executes the program using the real data D01 corresponding to the virtual data D11 based on a request from the first virtual machine 41 It functions as a processing means. The execution processing unit 211 stores in advance a program (in this embodiment, a program that reproduces music data and outputs the result to the speaker 33) corresponding to processing that is allowed to be executed using the actual data D01. First, the actual data D01 associated with the virtual data D11 is identified based on the processing request for the actual data associated with the information identifying the virtual data D11 transmitted from the processing request unit 203 of the first virtual machine 41. Subsequently, a program for outputting the actual data D01 to the speaker 33 is executed. Specifically, the actual data D01 is read, decoded as necessary, and further output to a device (reproduction device or the like). When the data processing device 1 outputs the result of the above processing, the result is transmitted to the output unit 105 described later. Further, when the result of processing is output by another device or the like, the processing result is transmitted to the other device. When performing the above processing, the execution processing unit 211 needs to determine the type of data of the actual data D01 (for example, image data, music data, etc.). Specifically, for example, in addition to a method of referring to an extension added to the file name of the actual data D01, a header in which information specifying the data type of the actual data D01 is described is executed. A method directly referred to by the unit 211 can be used. The execution processing unit 211 is realized as, for example, a ring tone reproduction module.

通知部212は、第2記憶部102に格納される実データに変更があった場合に、第2記憶部102の実データの更新に係る情報が含まれる更新情報を第1仮想マシン41に通知する通知手段として機能する。通知部212は、第2記憶部102に格納される実データに変更があった場合には、変更があった実データに対応する仮想データを特定する情報(例えばファイル名等)とその変更内容とを第1仮想マシン41に対して通知する。第2記憶部102の実データの変更に係る情報は、例えば、第2仮想マシン42の各部が実データに対して操作を行った場合には通知部212に通知をする等のルールをあらかじめ定めておくことによって、通知部212において情報を入手することができる。なお、第2記憶部102には、他の仮想マシンからの要求に応じて出力されることが制限される情報も格納される。このような情報に対しては仮想データを作成する必要がないため、変更情報を第1仮想マシン41に対して通知する必要もない。第1仮想マシン41に対して通知が必要であるかどうかは、例えば、第2記憶部102に新たにデータが格納される際に第1仮想マシン41での利用が想定されるかどうかを明らかにするフラグをつけておき、このフラグの有無を通知部212が確認することにより判断される。   The notification unit 212 notifies the first virtual machine 41 of update information including information related to the update of the actual data in the second storage unit 102 when the actual data stored in the second storage unit 102 is changed. Functions as a notification means. When there is a change in the actual data stored in the second storage unit 102, the notification unit 212 specifies information (for example, a file name) corresponding to the changed actual data and the details of the change. To the first virtual machine 41. The information related to the change of the actual data in the second storage unit 102 is determined in advance, for example, by a rule such as notifying the notification unit 212 when each unit of the second virtual machine 42 performs an operation on the actual data. As a result, information can be obtained in the notification unit 212. The second storage unit 102 also stores information that is restricted from being output in response to a request from another virtual machine. Since it is not necessary to create virtual data for such information, it is not necessary to notify the first virtual machine 41 of change information. Whether or not notification is necessary for the first virtual machine 41 is, for example, whether or not use in the first virtual machine 41 is assumed when data is newly stored in the second storage unit 102. The flag is set, and the notification unit 212 determines whether or not the flag is present.

さらに、データ処理装置1は、出力部105を含んで構成される。出力部105は、第2仮想マシン42において実データD01を用いてプログラムを実行した結果を出力する出力手段として機能する。出力部105にはディスプレイ32やスピーカー33が含まれる。上述の実行処理部211において第1仮想マシン41からの要求に基づいて実データD01(購入音楽データ)を再生した場合には、この結果が、出力部105(スピーカー33)から出力される。この結果、出力結果をデータ処理装置1の所有者が確認することができる。   Further, the data processing device 1 is configured to include an output unit 105. The output unit 105 functions as an output unit that outputs a result of executing a program using the real data D01 in the second virtual machine 42. The output unit 105 includes a display 32 and a speaker 33. When the above-described execution processing unit 211 reproduces the actual data D01 (purchased music data) based on a request from the first virtual machine 41, this result is output from the output unit 105 (speaker 33). As a result, the owner of the data processing apparatus 1 can confirm the output result.

以上のように、データ処理装置1に含まれる各部がそれぞれ上記のように機能することにより、本実施形態に係るデータ処理が行われる。   As described above, each unit included in the data processing device 1 functions as described above, whereby the data processing according to the present embodiment is performed.

<データ処理装置1によるデータ処理方法>
次に、データ処理装置1によるデータ処理方法について図7〜図10を用いて説明する。図7〜図10は、データ処理装置1によって行われるデータ処理を説明するフローチャートである。
<Data Processing Method by Data Processing Device 1>
Next, a data processing method by the data processing apparatus 1 will be described with reference to FIGS. 7 to 10 are flowcharts for explaining data processing performed by the data processing apparatus 1.

(1)仮想データの利用処理
図7は、第1仮想マシン41が処理命令を受信した際に行われる仮想データの利用処理に係るフローチャートである。まず、この仮想データD11の利用処理は、第1仮想マシン41の受信部201において仮想データD11を対象とした処理命令が受信されたときに開始される(S100、受信ステップ)。受信部201により受信された処理命令は、受信部201において、まず処理命令が対象としているデータが仮想データD11であるかが判断される(S101)。ここで処理命令の対象が仮想データD11とは異なり第1記憶部101に中身を含んで格納されるデータ(例えば図4のデータD21又はD22)である場合には、以降の仮想データの利用に係る処理が終了され、このデータを用いたプログラムの実行がデータ処理装置1の第1仮想マシン41において行われる。一方、仮想データD11を指定した処理命令である場合には、次に、受信部201により要求元プログラムの特定が行われる(S102)。本実施形態において受信部201により受信される処理命令は、電話アプリによる仮想データD11を利用することを処理内容とする命令であり、要求元プログラムが電話アプリであることが受信部201において確認される。この要求元プログラムを特定する情報は仮想データD11を特定する情報と共に判定部202へ送られる。
(1) Virtual Data Utilization Processing FIG. 7 is a flowchart relating to virtual data utilization processing performed when the first virtual machine 41 receives a processing command. First, the use processing of the virtual data D11 is started when a processing command for the virtual data D11 is received by the receiving unit 201 of the first virtual machine 41 (S100, receiving step). For the processing command received by the receiving unit 201, the receiving unit 201 first determines whether the data targeted by the processing command is virtual data D11 (S101). Here, when the target of the processing instruction is data (for example, data D21 or D22 in FIG. 4) stored in the first storage unit 101 unlike the virtual data D11, the subsequent virtual data is used. The processing is terminated, and the program using this data is executed in the first virtual machine 41 of the data processing apparatus 1. On the other hand, if the processing instruction designates the virtual data D11, next, the request source program is specified by the receiving unit 201 (S102). In the present embodiment, the processing command received by the receiving unit 201 is a command whose processing content is to use the virtual data D11 by the telephone application, and the receiving unit 201 confirms that the request source program is the telephone application. The The information specifying the request source program is sent to the determination unit 202 together with the information specifying the virtual data D11.

判定部202では、受信部201から送られる情報に基づいて第1記憶部101に格納される仮想データD11を参照することで、要求元プログラムが行う処理内容が仮想データD11に関連付けられているかによって、実データD01を用いて実行することが許容される処理であるかが判定される(S103、判定ステップ)。本実施形態における仮想データD11に対する電話アプリからの処理命令は、あらかじめ電話アプリが仮想データD11に対して対応付けられて第1記憶部101に格納されているため、実データD01を用いて実行することが許容される処理であると判定される。そして、判定部202により、この判定結果に基づいて、当該プログラム(電話アプリ)が仮想データD11を利用中である旨のフラグが保持され(S104)、仮想データD11に対する処理が開始された後、仮想データD11の出力に係る出力命令が行われるまでのタイムラグを考慮して、このフラグを保持した状態で本処理が終了する。なお、処理内容が仮想データD11に対応付けられていないと判定された(S103)場合には、処理中にエラーが発生した旨が処理命令を行ったプログラム(本実施形態では電話アプリ)に対して通知され(S105)、以降の処理は中止される。また、この場合には、当該プログラムからの仮想データD11に対するアクセス要求を次回以降受け付けない処理を更に付け加えることもできる。   The determination unit 202 refers to the virtual data D11 stored in the first storage unit 101 based on the information transmitted from the reception unit 201, so that the processing content performed by the request source program is associated with the virtual data D11. Then, it is determined whether the process is permitted to be executed using the actual data D01 (S103, determination step). The processing instruction from the telephone application for the virtual data D11 in the present embodiment is executed using the actual data D01 because the telephone application is stored in the first storage unit 101 in association with the virtual data D11 in advance. Is determined to be acceptable processing. Then, the determination unit 202 holds a flag indicating that the program (phone application) is using the virtual data D11 based on the determination result (S104), and after processing for the virtual data D11 is started, In consideration of the time lag until the output command related to the output of the virtual data D11 is performed, this processing ends with this flag held. If it is determined that the processing content is not associated with the virtual data D11 (S103), the fact that an error has occurred during the processing is notified to the program (in this embodiment, the telephone application) that issued the processing command. (S105), and the subsequent processing is stopped. In this case, it is also possible to add a process of not accepting an access request for the virtual data D11 from the program from the next time.

(2)第2仮想マシンに対する処理要求処理
図8は、第2仮想マシン42に対して処理を要求する際のフローチャートである。この処理は、図7に示す仮想データの利用処理(S100〜S104)が行われた後であり、仮想データD11を出力する旨の出力命令を受信した際に開始される(S200)。
(2) Processing Request Processing for Second Virtual Machine FIG. 8 is a flowchart when requesting processing to the second virtual machine 42. This process is performed after the virtual data utilization process (S100 to S104) shown in FIG. 7 is performed, and is started when an output command for outputting the virtual data D11 is received (S200).

処理要求部203は、仮想データD11を出力する出力命令を受けて、判定部202から送信された情報のうち、処理命令(出力命令)を送信したプログラム(本実施形態では電話アプリ)を特定し(S201)、このプログラムを参照し、当該プログラムが仮想データD11を利用中であるという状態を示すフラグが保持されているかを確認する(S202)。具体的には、判定部202において保持された(S104)フラグを確認することにより、電話アプリから送信された出力命令が、仮想データD11に対するものであることを確認する。この確認は、第2仮想マシン42に対して以降の処理に係る要求を送信してよいかを確認するために行われる。より具体的には、電話アプリが第1記憶部101に格納される実データ(通常データ)を利用しようとしている場合であっても、電話アプリからは当該実データを指定した利用命令及び出力命令が送信されるため、電話アプリが送信した出力命令が仮想データD11を対象としたものであることをこの段階で確認するものである。したがって、仮想データD11を利用中であるという状態のフラグが保持されていない場合には、電話アプリは第1記憶部101に格納される他のデータ(実データ)に対して処理命令を行っていると判断され、以降の処理は終了される。本実施形態の電話アプリが仮想データD11に対する利用命令を送信し、仮想データD11を利用中であるという状態で保持されている場合には、仮想データD11を特定する情報を用いて、処理要求部203から第2仮想マシン42に対して処理の要求が行われる(S203、処理要求ステップ)。以上により、第2仮想マシン42に対して処理要求を行う処理が終了する。   The processing request unit 203 receives the output command for outputting the virtual data D11, and identifies the program (phone application in this embodiment) that has transmitted the processing command (output command) from the information transmitted from the determination unit 202. (S201) Referring to this program, it is confirmed whether or not a flag indicating a state that the program is using the virtual data D11 is held (S202). Specifically, by confirming the flag held in the determination unit 202 (S104), it is confirmed that the output command transmitted from the telephone application is for the virtual data D11. This confirmation is performed in order to confirm whether or not a request related to the subsequent processing may be transmitted to the second virtual machine 42. More specifically, even when the telephone application intends to use actual data (normal data) stored in the first storage unit 101, the telephone application uses a usage instruction and an output instruction that specify the actual data. Therefore, it is confirmed at this stage that the output command transmitted by the telephone application is for the virtual data D11. Therefore, when the flag indicating that the virtual data D11 is being used is not held, the telephone application issues a processing command to other data (actual data) stored in the first storage unit 101. The subsequent processing is terminated. When the telephone application according to the present embodiment transmits a use instruction for the virtual data D11 and is held in a state where the virtual data D11 is being used, a processing request unit is used using information specifying the virtual data D11. A processing request is issued from 203 to the second virtual machine 42 (S203, processing request step). Thus, the process for making a process request to the second virtual machine 42 ends.

(3)第2仮想マシンにおける実行処理
図9は、第1仮想マシン41からの処理の要求に基づいて第2仮想マシン42において実行処理を行う際のフローチャートである。この処理は、図8に示すように、第1仮想マシン41の処理要求部203から第2仮想マシン42に対して仮想データD11に対応付けられた実データ用いた処理の要求(S203)が行われ、第2仮想マシン42の実行処理部211により受信された後に開始される(S300)。そして、図9に示される一連の処理は、例えば一つのプログラムによって記述されており、このプログラムを実行処理部211において実行することにより行われる。
(3) Execution Processing in Second Virtual Machine FIG. 9 is a flowchart when execution processing is performed in the second virtual machine 42 based on a processing request from the first virtual machine 41. As shown in FIG. 8, the processing request unit 203 of the first virtual machine 41 requests the second virtual machine 42 to perform processing using actual data associated with the virtual data D11 (S203). And started after being received by the execution processing unit 211 of the second virtual machine 42 (S300). The series of processes shown in FIG. 9 is described by, for example, one program, and is executed by executing this program in the execution processing unit 211.

実行処理部211は、仮想データD11に対応する実データを用いた処理の要求を受信すると、当該要求に含まれる仮想データD11を特定する情報に基づいて、当該仮想データD11に対応付けられた実データD01が第2記憶部102に格納されているかを確認する(S301)。このとき、仮想データD11と実データD01との対応付けに係る情報は、上述のように第2記憶部102に格納されているためこの情報に基づいて実データD01の特定が行われる。ここで、例えば第1仮想マシン41からの処理の要求が不正なものである等の理由によって、処理の要求で指定された実データが第2記憶部102に格納されていない場合は、処理を中止する。一方、実データD01が第2記憶部102に格納されていることが確認できた場合には、実行処理部211は、当該実データD01のファイル形式を確認する等によって、出力先のデバイスを確認した後、当該第2記憶部102から実データD01を読み込み(S302、実行処理ステップ)、さらにこの実データD01をデコードする(S303、実行処理ステップ)。ここで行われるデコードとは、実データD01があらかじめエンコードされている場合に行われる処理であり、例えば、実データの拡張子が「.mp3」である場合には、出力部105に含まれるスピーカー33に対して出力するための処理である。したがって、実データD01が直接出力することができる形式のデータである場合には、デコードを行う必要はなく、次の処理に進む。そして、第1仮想マシン41からの要求に従ってデコード済みの実データD01を出力部105に含まれるデバイスであるスピーカー33に対して出力する(S304、実行処理ステップ)。これにより、第2仮想マシン42に格納される実データD01がスピーカー33から着信音として出力される。以上の処理によって、第1仮想マシン41の受信部201において受信された処理命令に対する処理の結果が出力部105から出力される。なお、この実データD01の読み込み(S302)、デコード(S303)及びデバイスへの出力(S303)は、実データD01を出力し終えるまで、一定の周期で繰返し実行される。以上により、一連の処理が終了される。   When the execution processing unit 211 receives a request for processing using the real data corresponding to the virtual data D11, the execution processing unit 211 executes the real data associated with the virtual data D11 based on information specifying the virtual data D11 included in the request. It is confirmed whether the data D01 is stored in the second storage unit 102 (S301). At this time, since the information related to the association between the virtual data D11 and the actual data D01 is stored in the second storage unit 102 as described above, the actual data D01 is specified based on this information. Here, if the actual data specified in the processing request is not stored in the second storage unit 102, for example, because the processing request from the first virtual machine 41 is invalid, the processing is performed. Cancel. On the other hand, when it is confirmed that the actual data D01 is stored in the second storage unit 102, the execution processing unit 211 confirms the output destination device by confirming the file format of the actual data D01. After that, the actual data D01 is read from the second storage unit 102 (S302, execution processing step), and the actual data D01 is further decoded (S303, execution processing step). Decoding performed here is processing performed when the actual data D01 is encoded in advance. For example, when the extension of the actual data is “.mp3”, the speaker included in the output unit 105 This is a process for outputting to H.33. Therefore, when the actual data D01 is in a format that can be directly output, it is not necessary to perform decoding, and the process proceeds to the next process. Then, the decoded actual data D01 is output to the speaker 33 which is a device included in the output unit 105 in accordance with a request from the first virtual machine 41 (S304, execution processing step). As a result, the actual data D01 stored in the second virtual machine 42 is output from the speaker 33 as a ringtone. As a result of the above processing, the output unit 105 outputs the processing result for the processing command received by the receiving unit 201 of the first virtual machine 41. The reading (S302), decoding (S303), and outputting to the device (S303) of the actual data D01 are repeatedly executed at a constant cycle until the actual data D01 is completely output. Thus, a series of processes is completed.

(4)仮想データの更新処理
図10は、第2記憶部102に格納される実データD01が変更された場合に、実データD01に対応付けられて第1記憶部101に格納される仮想データD11の更新を行う処理を説明するフローチャートである。より具体的には図10(A)は第1仮想マシン41で行われる処理であり、図10(B)は第2仮想マシン42で行われる処理である。これらの処理は、第2記憶部102に格納されるデータに対して、追加・削除・書き換え等の何らかの変更が行われると、その情報を通知部212が検出して、第2仮想マシン42において開始される(S400)。
(4) Virtual Data Update Processing FIG. 10 shows virtual data stored in the first storage unit 101 in association with the actual data D01 when the actual data D01 stored in the second storage unit 102 is changed. It is a flowchart explaining the process which updates D11. More specifically, FIG. 10A is a process performed by the first virtual machine 41, and FIG. 10B is a process performed by the second virtual machine. In these processes, when any change such as addition / deletion / rewrite is performed on the data stored in the second storage unit 102, the notification unit 212 detects the information and the second virtual machine 42 The process is started (S400).

まず、第2仮想マシン42の通知部212は、第2記憶部102に格納されるデータに対して変更があった場合に、当該変更が仮想データの更新が必要な変更であるか判断する(S401)。これは、例えば、第1仮想マシン41での利用が想定されるかどうかを示すフラグが、今回変更があったデータに対して付与されているかどうかにより判断される。ここで第1仮想マシン41での利用が想定されていないことが確認された場合、通知部212がその変更を第1仮想マシン41に対して通知する必要はないので、以降の処理は中止される。一方、第1仮想マシン41での利用が想定されていることが確認された場合、仮想データD11の更新が必要であると判断され、変更内容を更新情報として第1仮想マシン41に対して通知する(S402、通知ステップ)。以上により、第2仮想マシン42における変更を通知する処理が終了する。   First, when there is a change to the data stored in the second storage unit 102, the notification unit 212 of the second virtual machine 42 determines whether the change is a change that requires updating of virtual data ( S401). This is determined, for example, based on whether or not a flag indicating whether or not use in the first virtual machine 41 is assumed is given to the data that has been changed this time. Here, when it is confirmed that the use in the first virtual machine 41 is not assumed, the notification unit 212 does not need to notify the first virtual machine 41 of the change, and the subsequent processing is stopped. The On the other hand, when it is confirmed that the use in the first virtual machine 41 is assumed, it is determined that the virtual data D11 needs to be updated, and the change content is notified to the first virtual machine 41 as update information. (S402, notification step). Thus, the process for notifying the change in the second virtual machine 42 is completed.

一方、第1仮想マシン41における処理は、第2仮想マシン42から送信される更新情報を更新部205が受信した際に開始される(S500)。受信部201が更新情報を受信すると、更新情報に含まれる情報にしたがって、第1記憶部101に格納される仮想データを更新する(S501、更新ステップ)。例えば、第2記憶部102において新たな実データD01が格納された場合には、当該実データD01に対応付けた仮想データD11を作成し、この仮想データD11に対しての実行が許容される処理内容の情報(すなわち実データD01に対しての実行が許容される処理内容の情報)を対応付けて、第1記憶部101に格納する。また、実データD01が削除された場合にはこの実データD01に対応付けられた仮想データD11を削除する。さらに、実データD01に対しての実行が許容される処理内容の情報が変更された場合には、この情報に基づいて仮想データD11に対応付けられた情報の更新を行う。以上の処理によって、仮想データD11が更新され、第1記憶部101に格納される仮想データD11が実データD01に対応付けられた情報となり、仮想データD11の更新に係る処理が終了される。   On the other hand, the process in the first virtual machine 41 is started when the update unit 205 receives the update information transmitted from the second virtual machine 42 (S500). When the receiving unit 201 receives the update information, the virtual data stored in the first storage unit 101 is updated according to the information included in the update information (S501, update step). For example, when new real data D01 is stored in the second storage unit 102, virtual data D11 associated with the real data D01 is created, and execution of the virtual data D11 is permitted. Information on the contents (that is, information on processing contents that are allowed to be executed on the actual data D01) is associated with each other and stored in the first storage unit 101. When the actual data D01 is deleted, the virtual data D11 associated with the actual data D01 is deleted. Furthermore, when the information on the processing content that is allowed to be executed on the actual data D01 is changed, the information associated with the virtual data D11 is updated based on this information. Through the above process, the virtual data D11 is updated, the virtual data D11 stored in the first storage unit 101 becomes information associated with the actual data D01, and the process related to the update of the virtual data D11 is ended.

<本実施形態に係る効果>
以上のように、本実施形態に係るデータ処理装置1及びこのデータ処理装置1によるデータ処理方法によれば、第1仮想マシン41の受信部201において受信され、第1記憶部101に格納される仮想データD11を用いた処理命令(本実施形態では利用命令及び出力命令)が、あらかじめ仮想データD11に対応付けて格納され、実行することが許容される処理内容であるかが判定部202において判定される。そして、実行することが許容されると判定された場合には、第2仮想マシン42の第2記憶部102に格納され、仮想データD11と対応付けられる実データD01の処理が処理要求部203によって第2仮想マシン42に対して要求される。そして、実データD01を用いたプログラムの実行が第2仮想マシン42の実行処理部211において行われる。このように、第2仮想マシン42の第2記憶部102に格納される実データD01に対応付けられた仮想データD11が第1仮想マシン41の第1記憶部101に格納され、この仮想データD11に対する処理要求に応じて第2記憶部102に格納される実データD01の処理を実行することができる。このため、結果として、第1仮想マシン41は第2仮想マシン42に格納される実データD01を間接的に利用することができる。また、本実施形態に係るデータ処理装置1によれば、第1仮想マシン41の第1記憶部101に格納される仮想データD11には、あらかじめ実データD01を用いて実行することが許容される処理内容を特定する情報が対応付けられ、この情報に対応した処理命令(利用命令及び出力命令)を受信した場合に限って、第2仮想マシン42に対して処理の要求が送信されることから、例えば、第1仮想マシン41において、悪意のあるアプリケーションプログラムが第2仮想マシン42に格納される実データD01を利用しようとした場合には、これを回避することができる。したがって、悪意のあるアプリケーションプログラム等による不適切な利用を防止することができる。
<Effects according to this embodiment>
As described above, according to the data processing device 1 and the data processing method by the data processing device 1 according to the present embodiment, the data is received by the receiving unit 201 of the first virtual machine 41 and stored in the first storage unit 101. The determination unit 202 determines whether a processing instruction using the virtual data D11 (in this embodiment, a usage instruction and an output instruction) is stored in advance in association with the virtual data D11 and is permitted to be executed. Is done. If it is determined that execution is permitted, the processing request unit 203 performs processing of the actual data D01 stored in the second storage unit 102 of the second virtual machine 42 and associated with the virtual data D11. Requested for the second virtual machine 42. Then, the execution of the program using the actual data D01 is performed in the execution processing unit 211 of the second virtual machine 42. As described above, the virtual data D11 associated with the actual data D01 stored in the second storage unit 102 of the second virtual machine 42 is stored in the first storage unit 101 of the first virtual machine 41, and this virtual data D11. The processing of the actual data D01 stored in the second storage unit 102 can be executed in response to the processing request for. Therefore, as a result, the first virtual machine 41 can indirectly use the actual data D01 stored in the second virtual machine 42. Further, according to the data processing apparatus 1 according to the present embodiment, the virtual data D11 stored in the first storage unit 101 of the first virtual machine 41 is allowed to be executed using the actual data D01 in advance. A process request is transmitted to the second virtual machine 42 only when information specifying process contents is associated and a process command (use command and output command) corresponding to this information is received. For example, in the first virtual machine 41, when a malicious application program tries to use the real data D01 stored in the second virtual machine 42, this can be avoided. Therefore, inappropriate use by a malicious application program or the like can be prevented.

また、本実施形態におけるデータ処理装置1では、第2記憶部102に格納される実データD01に係る変更情報が通知部212から第1仮想マシン41に対して通知され、更新部205により、変更情報に含まれる情報に基づいて第1記憶部101に格納される仮想データD11が更新される。このため、例えば第2記憶部102における実データD01の追加や削除に応じて、第1記憶部101における仮想データD11を適切に追加や削除することができる。また、第2記憶部102に格納される実データD01に対する実行が許容される処理内容が変更された場合(例えば、有効期限が切れることによって、データの利用範囲が変更された場合)等にも、この情報を第1仮想マシン41に対して適切に通知し、第1記憶部101に格納される仮想データD11に対応付けられる処理内容を特定する情報を更新することにより、例えば、上記の変更により許容されなくなった内容の処理を第1仮想マシン41から第2仮想マシン42に対して要求することを減らすことができるため、第1仮想マシン41と第2仮想マシン42との間に発生する不要な情報のやり取りを減らすことができ、第2記憶部102に格納される実データD01の不適切な利用をさらに抑制することができる。   Further, in the data processing device 1 in the present embodiment, change information related to the actual data D01 stored in the second storage unit 102 is notified from the notification unit 212 to the first virtual machine 41, and the update unit 205 changes the information. The virtual data D11 stored in the first storage unit 101 is updated based on the information included in the information. Therefore, for example, the virtual data D11 in the first storage unit 101 can be appropriately added or deleted in accordance with the addition or deletion of the actual data D01 in the second storage unit 102. In addition, when the processing content allowed to be executed on the actual data D01 stored in the second storage unit 102 is changed (for example, when the data usage range is changed due to expiration), etc. By appropriately notifying this information to the first virtual machine 41 and updating the information specifying the processing content associated with the virtual data D11 stored in the first storage unit 101, for example, the above change This can occur between the first virtual machine 41 and the second virtual machine 42 because it is possible to reduce requests from the first virtual machine 41 to the second virtual machine 42 for processing that has become unacceptable. Exchange of unnecessary information can be reduced, and inappropriate use of the actual data D01 stored in the second storage unit 102 can be further suppressed.

(第2実施形態)
<データ処理装置2の構成及びデータ処理方法>
(1)実行処理の終了処理
図11は、本発明の第2実施形態に係るデータ処理装置2の構成を説明するブロック図である。データ処理装置2に含まれる各構成のうちデータ処理装置1と異なる点は、以下の2点である。すなわち、第1点目は、第1仮想マシン41に処理終了要求部204を備え、処理終了要求部204による要求に基づいて、実行処理部211が処理を行う点である。また、第2点目は、第2仮想マシン42の実行処理部211が、実データD01をあらかじめ実行可能な状態にしておく点である。
(Second Embodiment)
<Configuration of Data Processing Device 2 and Data Processing Method>
(1) Execution Processing Completion Processing FIG. 11 is a block diagram illustrating the configuration of the data processing device 2 according to the second embodiment of the present invention. The following two points are different from the data processing device 1 among the components included in the data processing device 2. That is, the first point is that the first virtual machine 41 includes the processing end request unit 204, and the execution processing unit 211 performs processing based on a request from the processing end request unit 204. The second point is that the execution processing unit 211 of the second virtual machine 42 makes the actual data D01 executable beforehand.

上記のデータ処理装置2における新たな構成及び新たなデータ処理方法のうち、まず第1点目について、図11及び図12を用いて説明する。   Of the new configuration and new data processing method in the data processing apparatus 2 described above, the first point will be described first with reference to FIGS. 11 and 12.

処理終了要求部204は、第2仮想マシン42に対して仮想データD11に対応する実データ(本実施形態では、実データD01)を用いた実行処理の終了を要求する処理終了要求手段として機能する。実データD01に対する実行処理は、例えば従来の音楽データの再生等の場合には、実データD01の終端まで一通り処理が行われると、この処理は終了されるか、または、エンドレス再生のように再生処理が繰り返される。しかしながら、本実施形態のように、実データD01に対する処理が着信音としての再生処理である場合、実データD01の終端まで一通り処理が行われる前にデータ処理装置2の所有者が応答した場合には、当該処理(すなわち着信音の再生)が中止される必要がある。したがって、処理を終了させるようなイベント(例えば所有者による応答)が発生し、処理終了要求部204がその情報を検出した場合には、当該情報に基づいて、第2仮想マシン42に対して実データD01を用いた実行処理の終了を要求する。なお、この処理終了要求部204による実行処理の終了要求のタイミングは、上述のように何らかのイベントが発生した場合に限られず、例えばタイマーの時刻が満了した時刻であってもよい。   The process end request unit 204 functions as a process end request unit that requests the second virtual machine 42 to end the execution process using the actual data corresponding to the virtual data D11 (actual data D01 in this embodiment). . For example, in the case of conventional music data reproduction, the execution process for the actual data D01 is completed when the entire process is performed up to the end of the actual data D01, or as in endless reproduction. The reproduction process is repeated. However, when the process for the actual data D01 is a reproduction process as a ring tone as in the present embodiment, the owner of the data processing device 2 responds before the process is completed until the end of the actual data D01. In this case, the processing (that is, the reproduction of the ring tone) needs to be stopped. Therefore, when an event that terminates the process (for example, a response by the owner) occurs and the process end request unit 204 detects the information, the second virtual machine 42 is executed based on the information. The end of the execution process using the data D01 is requested. Note that the timing of the end request of the execution process by the process end request unit 204 is not limited to when an event occurs as described above, and may be, for example, the time when the timer has expired.

一方、実行処理部211は、処理終了要求部204からの実行処理の終了に係る要求を受信した場合には、当該要求に基づいて実データD01を用いた処理(すなわちスピーカー33からの出力に係る処理)を終了させる機能を新たに備える。実行処理部211が処理終了要求部204からの要求に基づいて処理を終了させることにより、実データD01の出力部105(スピーカー33)からの出力が停止される。   On the other hand, when the execution processing unit 211 receives a request related to the end of the execution process from the processing end request unit 204, the execution processing unit 211 uses the actual data D01 based on the request (that is, relates to the output from the speaker 33) A function for terminating the processing is newly provided. When the execution processing unit 211 ends the processing based on the request from the processing end request unit 204, the output of the actual data D01 from the output unit 105 (speaker 33) is stopped.

上記の構成を備えるデータ処理装置2によるデータ処理方法について、図12のフローチャートを用いて説明する。図12は、実データD01を用いた実行処理を終了させる処理を説明するフローチャートである。より具体的には、図12(A)は第1仮想マシン41において行われる処理を示し、図12(B)は第2仮想マシン42において行われる処理を示す。これらの処理は、第1仮想マシン41、例えば、実データD01を用いたプログラムの実行を終了させるイベント(例えば、データ処理装置2の所有者が応答した等)が発生した際に開始される(S800)。   A data processing method by the data processing apparatus 2 having the above configuration will be described with reference to the flowchart of FIG. FIG. 12 is a flowchart for explaining processing for ending execution processing using actual data D01. More specifically, FIG. 12A shows processing performed in the first virtual machine 41, and FIG. 12B shows processing performed in the second virtual machine 42. These processes are started when an event (for example, the response of the owner of the data processing device 2) that terminates the execution of the program using the first virtual machine 41, for example, the real data D01, occurs (for example, S800).

処理終了要求部204は、実データD01を用いたプログラムの実行を終了させるイベントが発生すると、実データD01に係る処理を第2仮想マシン42に対して要求したかを確認する(S801)。これは、例えば、処理要求部203に対して既に第2仮想マシン42に対して仮想データD11を指定した処理を要求が送信されたかどうかを問い合わせることにより確認することができる。この結果、まだ第2仮想マシン42に対して仮想データD11に対応する実データD01を用いた処理の要求がなされていないことが確認された場合には、以降の処理を中止する。一方、仮想データD11に対応する実データD01を用いた処理の要求が既になされたことが確認された場合は、実データD01を用いた処理が第2仮想マシン42において開始されているため、第2仮想マシン42に対して処理の終了を要求する(S802、終了要求ステップ)。以上により、第1仮想マシン41における終了要求に係る処理が終了する。   When an event for terminating the execution of the program using the real data D01 occurs, the process end request unit 204 confirms whether the process related to the real data D01 is requested to the second virtual machine 42 (S801). This can be confirmed, for example, by inquiring whether the request has already been sent to the process request unit 203 for the process specifying the virtual data D11 for the second virtual machine 42. As a result, if it is confirmed that the second virtual machine 42 has not yet been requested to perform processing using the actual data D01 corresponding to the virtual data D11, the subsequent processing is stopped. On the other hand, if it is confirmed that a request for processing using the actual data D01 corresponding to the virtual data D11 has already been made, the processing using the actual data D01 has been started in the second virtual machine 42, so 2 Request the virtual machine 42 to end the process (S802, end request step). Thus, the process related to the termination request in the first virtual machine 41 is completed.

一方、第2仮想マシン42における処理は、実行処理部211が第1仮想マシン41から送信される実データD01を用いた処理の終了要求を受信することを契機に開始される(S900)。実行処理部211は、終了要求を受信すると、この要求に基づいて、実データD01のデバイス(スピーカー33)への出力を停止させる(S901、実行処理ステップ)。そして、この実データD01のデコードを終了し(S902、実行処理ステップ)、読み込み中だった実データD01をクローズする(S903、実行処理ステップ)。以上の処理により、第2仮想マシン42における実データD01を用いた処理の終了に係る処理が終了する。なお、図12に示すフローチャートは、実データD01が購入音楽データであり、データ処理装置2に設けられた出力部105(スピーカー33)に対して出力する場合について説明しているものである。したがって、例えば実データD01を用いた処理の結果を他の装置から出力させる場合には、処理の結果を出力させる装置に対して、出力停止を通知するメッセージを送信すること等により、当該処理を終了させる。   On the other hand, the process in the second virtual machine 42 is started when the execution processing unit 211 receives a process end request using the real data D01 transmitted from the first virtual machine 41 (S900). When receiving the end request, the execution processing unit 211 stops the output of the actual data D01 to the device (speaker 33) based on this request (S901, execution processing step). Then, the decoding of the actual data D01 is terminated (S902, execution process step), and the actual data D01 being read is closed (S903, execution process step). With the above process, the process related to the end of the process using the actual data D01 in the second virtual machine 42 ends. The flowchart shown in FIG. 12 describes a case where the actual data D01 is purchased music data and is output to the output unit 105 (speaker 33) provided in the data processing device 2. Therefore, for example, when outputting the processing result using the actual data D01 from another device, the processing is performed by transmitting a message notifying the output stop to the device that outputs the processing result. Terminate.

(2)実データに対するデコード処理
次に、上記のデータ処理装置2における新たな構成及び新たなデータ処理方法のうち、第2点目について、図11及び図13を用いて説明する。
(2) Decoding Process for Real Data Next, the second point of the new configuration and the new data processing method in the data processing apparatus 2 will be described with reference to FIGS. 11 and 13.

本実施形態では、実行処理部211は、実データD01をあらかじめ実行可能な状態としておく機能をさらに備える。ここでいう「実行可能な状態とする」とは、実データD01を出力部105から出力するために行う必要がある処理を先行して行うことをいう。具体的には、第1仮想マシン41の処理要求部203からの処理の要求を受けた時点から、実データD01の読み込みを開始するのではなく、あらかじめ実データD01の読み込み及びデコードを行っておくことで、直ちに出力可能な状態としておくことで、実データD01を出力するまでに必要な実データD01の読み込み及びデコードに係る時間を短縮して実データD01の実行処理を開始することを目的としたものである。   In the present embodiment, the execution processing unit 211 further includes a function of setting the actual data D01 in an executable state in advance. Here, “to enter an executable state” means that a process that needs to be performed in order to output the actual data D01 from the output unit 105 is performed in advance. Specifically, the actual data D01 is read and decoded in advance, instead of starting to read the actual data D01 from the time when the processing request from the processing request unit 203 of the first virtual machine 41 is received. Therefore, by setting the state ready for immediate output, the time for reading and decoding the actual data D01 required until the actual data D01 is output is shortened, and the execution process of the actual data D01 is started. It is a thing.

図13は上記の処理を説明するフローチャートである。この処理は、任意のタイミングで開始することができる(S1000)が、例えば、データ処理装置2の電源を入れた際毎に行うこととしてもよいし、データ処理装置2において最初に実データD01を読み込み及びデコードした後はそれを再利用することとしてもよい。図13に示すように、まず、実行処理部211は、まず第2記憶部102に実データD01が格納されているかを確認する(S1001)。ここで、例えば第2記憶部102に実データD01が格納されていない場合にはこの処理が終了されるが、第2記憶部102に実データD01が格納されていることが確認されると、実行処理部211は、この実データD01を読み込み(S1002)、さらにデコード(S1003)を行うことにより、実データD01を出力可能な状態とされる。以上により、あらかじめ実データD01を出力可能な状態としておく処理(デコード処理)が終了される。なお、この事前のデコード処理は、実データD01全体が完全にデコードされる前に途中で中止してもよい。すなわち、実データD01に対してデコード処理を行っている途中にこの実データD01に対する処理の要求を受信した場合は、その時点で上述の事前のデコード処理が中止される。そして、デコード処理が完了した部分のデータについては読み込み及びデコードを行うことなく直ちにデータの出力が行われる。ただし、デコード処理が行われていない部分のデータについては、第1実施形態と同様に読み込み、デコード及び出力を周期的に繰返し行うことにより、データが出力部105に対して出力される。   FIG. 13 is a flowchart for explaining the above processing. This process can be started at an arbitrary timing (S1000). For example, the process may be performed every time the data processing apparatus 2 is turned on, or the actual data D01 is first stored in the data processing apparatus 2. After reading and decoding, it may be reused. As shown in FIG. 13, first, the execution processing unit 211 first checks whether the actual data D01 is stored in the second storage unit 102 (S1001). Here, for example, when the actual data D01 is not stored in the second storage unit 102, this process is terminated, but when it is confirmed that the actual data D01 is stored in the second storage unit 102, The execution processing unit 211 reads the actual data D01 (S1002), and further performs decoding (S1003), so that the actual data D01 can be output. Thus, the process (decoding process) for making the actual data D01 ready to be output is completed. Note that this preliminary decoding process may be stopped halfway before the entire actual data D01 is completely decoded. That is, if a request for processing on the actual data D01 is received while the decoding processing is being performed on the actual data D01, the above-described advance decoding processing is stopped at that time. Then, the data of the part for which the decoding process has been completed is immediately output without being read and decoded. However, the data of the part that has not been subjected to the decoding process is read in the same manner as in the first embodiment, and the data is output to the output unit 105 by periodically repeating decoding and output.

<本実施形態に係る効果>
このように第2実施形態に係るデータ処理装置2によれば、まず、第1仮想マシン41において処理終了要求部204を備えることにより、第2仮想マシン42おいて実行されるプログラムが、例えば実行処理を続けるプログラムである場合には、第1仮想マシン41から第2仮想マシン42に対して実行処理を終了させる要求を送信し、この要求に基づいて実行処理部211においてプログラムの実行が中止されるため、第2記憶部102に格納される実データD01の利用を中止させることができる。
<Effects according to this embodiment>
As described above, according to the data processing apparatus 2 according to the second embodiment, first, the first virtual machine 41 includes the process end request unit 204, so that the program executed in the second virtual machine 42 is executed, for example. If the program is a program that continues processing, the first virtual machine 41 transmits a request to end the execution processing to the second virtual machine 42, and the execution processing unit 211 stops the execution of the program based on this request. Therefore, the use of the actual data D01 stored in the second storage unit 102 can be stopped.

また、第2仮想マシン42においてあらかじめ実データD01を実行可能な状態にする(デコードする)ことで、第1仮想マシン41からの処理要求に基づいて処理を開始する場合と比較してより早くデータを出力部105(スピーカー33)に対して出力することができるという効果が奏される。   Also, by making the actual data D01 executable (decoded) in the second virtual machine 42 in advance, the data is faster than when processing is started based on the processing request from the first virtual machine 41. Is output to the output unit 105 (speaker 33).

(第3実施形態)
<データ処理装置3の構成及びデータ処理方法>
図14は、本発明の第3実施形態に係るデータ処理装置3の構成を説明するブロック図である。データ処理装置3に含まれる各構成のうちデータ処理装置1及び2と異なる点は、以下の点である。すなわち、第2仮想マシン42においてイベント情報を受信するイベント情報受信部213を備える点である。
(Third embodiment)
<Configuration of Data Processing Device 3 and Data Processing Method>
FIG. 14 is a block diagram illustrating the configuration of the data processing device 3 according to the third embodiment of the present invention. Among the configurations included in the data processing device 3, the differences from the data processing devices 1 and 2 are as follows. That is, the second virtual machine 42 includes an event information receiving unit 213 that receives event information.

イベント情報受信部213は、第1仮想マシン41の受信部201において処理命令を受信する契機となるイベントに係る情報であるイベント情報を受信するイベント情報受信手段として機能する。ここでいうイベント情報とは、第1仮想マシン41に格納されるプログラムが処理命令を送信する契機となる情報である。例えば本実施形態の場合では、仮想データD11を着信音として再生させるための処理命令が受信部201において受信されるが、この命令は、仮想データD11を着信音としてあらかじめ設定している人からの着信情報をデータ処理装置1の着信制御部(図示せず)が受信し、この情報が第1仮想マシン41に対して送られた場合に、第1仮想マシン41の電話アプリによって行われる。したがって、第2仮想マシン42のイベント情報受信部213は、イベント情報として、特定の人からの着信があったことを示す情報を着信制御部から受信する。なお、例えばデータ処理装置2のキーパッドによるキー入力や、タッチパネルにおいて特定部分が押されたこと等をイベント情報とすることもできる。このようにイベント情報受信部213によりイベント情報が受信されたことは実行処理部211に対して通知される。   The event information receiving unit 213 functions as an event information receiving unit that receives event information that is information related to an event that triggers reception of a processing command in the receiving unit 201 of the first virtual machine 41. The event information here is information that triggers the program stored in the first virtual machine 41 to transmit a processing command. For example, in the case of this embodiment, a processing command for reproducing the virtual data D11 as a ring tone is received by the receiving unit 201. This command is received from a person who has set the virtual data D11 as a ring tone in advance. When the incoming call information is received by an incoming call control unit (not shown) of the data processing apparatus 1 and this information is sent to the first virtual machine 41, the call application of the first virtual machine 41 performs the incoming call information. Therefore, the event information receiving unit 213 of the second virtual machine 42 receives, as event information, information indicating that there is an incoming call from a specific person from the incoming call control unit. Note that, for example, key input using the keypad of the data processing device 2 or a specific portion pressed on the touch panel can be used as event information. In this way, the event information receiving unit 213 is notified to the execution processing unit 211 that the event information has been received.

そして、実行処理部211は、イベント情報受信部213によりイベント情報が受信された時点から一定の時間のみ、第1仮想マシン41からの処理の要求を受け付ける機能を更に備える。第1仮想マシン41では、第2仮想マシン42のイベント情報受信部213によりイベント情報が受信された時点とほぼ同時に同様のイベント情報が受信され、第1仮想マシン41においてイベントに係る処理がなされた後、第2仮想マシン42に対して処理を要求する場合には処理要求部203から第2仮想マシン42に対して要求がなされるはずである。したがって、イベント情報を受信してから一定の時間のみ実行処理部211が第1仮想マシン41からの処理要求を受信する態様とすることで、第1仮想マシン41からの処理要求を確実に受信することができる。なお、この一定の時間とは、第1仮想マシン41においてイベント情報を受信した時点から、当該イベント情報に基づいて実データD01を用いた処理を処理要求部203が第2仮想マシン42に対して要求する時点までの所要時間を考慮して適宜定めることができる。   The execution processing unit 211 further includes a function of receiving a processing request from the first virtual machine 41 only for a certain period from the time when the event information is received by the event information receiving unit 213. In the first virtual machine 41, the same event information is received almost simultaneously with the time when the event information is received by the event information receiving unit 213 of the second virtual machine 42, and the process related to the event is performed in the first virtual machine 41. Later, when a process is requested to the second virtual machine 42, the process request unit 203 should make a request to the second virtual machine 42. Therefore, the execution processing unit 211 receives the processing request from the first virtual machine 41 only for a certain time after receiving the event information, thereby reliably receiving the processing request from the first virtual machine 41. be able to. This fixed time is the time when the first virtual machine 41 receives event information, and the processing request unit 203 performs processing using the actual data D01 based on the event information to the second virtual machine 42. It can be determined as appropriate in consideration of the time required until the requested time.

図15は上記の処理を説明するフローチャートである。まず、例えばイベント情報受信部213においてイベント情報が受信されることを契機として、有効時間制御処理が開始される(S1100、イベント情報受信ステップ)。そして、この情報がイベント情報受信部213から実行処理部211に通知され、実行処理部211において処理要求の受付が開始される。この処理要求に受付の有効時間は、あらかじめ例えばイベント情報の種類毎に定めること等により設定される。次に、第1仮想マシン41においてイベント情報の受信を契機として行われた処理の結果、第2仮想マシン42に対して、仮想データD11に対応する実データに係る処理の要求が送信され、実行処理部211ではこの要求を受信する(S1101、実行処理ステップ)。ここで、実行処理部211は、当該処理要求が有効時間内になされたものであるかを判断する(S1102、実行処理ステップ)。処理要求が有効時間内になされたものであるかどうかの確認は、例えば、実行処理部211において受付を開始すると同時に、有効時間に基づいて受付の終了時刻を予め設定しておく。そして、処理要求を第2仮想マシン42の実行処理部211において受信した時刻と受付の終了時刻とを比較し、受信した時刻が終了時刻よりも前である場合には、処理要求が有効時間内になされたものであると判断する方法等種々の方法が用いられる。ここで、第1仮想マシン41からの処理要求が有効時間外である場合には、正規の処理により作成された処理要求ではない可能性が考えられるため、第2仮想マシン42における処理は終了し以降の処理を行わない。一方、第1仮想マシン41からの処理要求が有効時間内である場合には、イベント情報の受信を契機とした要求であると考えられるため、この要求で指定される実データD01を用いた実行処理を開始する(S1103、実行処理ステップ)。実行処理自体は、第1実施形態と同様である。以上により、有効時間を用いた制御処理が終了する。   FIG. 15 is a flowchart for explaining the above processing. First, for example, when the event information receiving unit 213 receives event information, the effective time control process is started (S1100, event information receiving step). Then, this information is notified from the event information receiving unit 213 to the execution processing unit 211, and the execution processing unit 211 starts accepting a processing request. The valid time for accepting this processing request is set in advance, for example, for each type of event information. Next, as a result of the processing performed in response to the reception of the event information in the first virtual machine 41, a request for processing related to actual data corresponding to the virtual data D11 is transmitted to the second virtual machine 42 and executed. The processing unit 211 receives this request (S1101, execution processing step). Here, the execution processing unit 211 determines whether the processing request has been made within the valid time (S1102, execution processing step). Whether or not the processing request is made within the valid time is confirmed by, for example, starting reception at the execution processing unit 211 and setting the reception end time based on the valid time in advance. Then, the time when the processing request is received by the execution processing unit 211 of the second virtual machine 42 is compared with the end time of the reception, and if the received time is before the end time, the processing request is within the valid time. Various methods such as a method of judging that the above has been made are used. Here, if the processing request from the first virtual machine 41 is outside the valid time, there is a possibility that it is not a processing request created by regular processing, so the processing in the second virtual machine 42 ends. No further processing is performed. On the other hand, when the processing request from the first virtual machine 41 is within the valid time, it is considered that the request is triggered by the reception of the event information, so execution using the actual data D01 specified by this request The processing is started (S1103, execution processing step). The execution process itself is the same as in the first embodiment. Thus, the control process using the valid time is completed.

<本実施形態に係る効果>
このように、上記の実施形態によれば、イベント情報受信部213がイベント情報を受信した後の一定時間のみデータの実行処理部211が第1仮想マシン41からの処理要求を受け付ける態様とすることで、例えば、第1仮想マシン41で悪意のあるアプリケーションプログラムが動作することにより多数の処理要求を第2仮想マシン42に対して送信した場合に、第1仮想マシン41からの正式な要求(例えば電話着信等に基づく要求)が処理できないという問題を減らすことができる。したがって、イベント情報に基づいて第1仮想マシン41から要求される実行処理は適切に実行することができると共に、例えば第2仮想マシン42において悪意のあるアプリケーションプログラム等による不正な処理要求を受けてプログラムを実行することを回避することができる。
<Effects according to this embodiment>
As described above, according to the above embodiment, the data execution processing unit 211 accepts a processing request from the first virtual machine 41 only for a predetermined time after the event information receiving unit 213 receives the event information. Thus, for example, when a large number of processing requests are transmitted to the second virtual machine 42 due to a malicious application program operating in the first virtual machine 41, an official request (for example, from the first virtual machine 41 (for example, It is possible to reduce the problem that requests based on incoming calls etc. cannot be processed. Therefore, the execution process requested from the first virtual machine 41 based on the event information can be appropriately executed, and the program is received by the second virtual machine 42 upon receiving an illegal process request by a malicious application program or the like. Can be avoided.

(第4実施形態)
<データ処理装置4の構成及びデータ処理方法>
図16は、本発明の第4実施形態に係るデータ処理装置4の構成を説明するブロック図である。データ処理装置4に含まれる各構成のうちデータ処理装置3と異なる点は、以下の点である。すなわち、第1記憶部101及び第2記憶部102とは異なる記憶部である第3記憶部103を備える点である。
(Fourth embodiment)
<Configuration of Data Processing Device 4 and Data Processing Method>
FIG. 16 is a block diagram illustrating the configuration of the data processing device 4 according to the fourth embodiment of the present invention. Among the configurations included in the data processing device 4, the points different from the data processing device 3 are as follows. That is, the third storage unit 103 is a storage unit different from the first storage unit 101 and the second storage unit 102.

第3記憶部103は、第2仮想マシン42に専有される記憶領域である。そして、第3記憶部103は、イベント情報受信部213により受信されたイベント情報と、データ処理装置3と同様にイベント情報を受信した後の一定時間内に実行処理部211により実行処理が行われた実データD01を特定する情報と、を対応付けて履歴情報D30として格納する第3記憶手段として機能する。第3記憶部103において格納される履歴情報D30としては、例えば、他の通信端末からの着信を示す情報がイベント情報であって、当該イベント情報に基づいて電話アプリから発信される処理命令に基づいた実データの出力に関する場合、イベント情報を送信する発信元の通信端末の電話番号がAである場合には、実データAを再生し、電話番号がBである場合には、実データBを再生するというように、電話番号と実データとを対応付けた表等が用いられる。   The third storage unit 103 is a storage area dedicated to the second virtual machine 42. In the third storage unit 103, the execution processing unit 211 executes the execution process within a predetermined time after receiving the event information received by the event information reception unit 213 and the event information in the same manner as the data processing device 3. It functions as a third storage means for associating the information specifying the actual data D01 with the history information D30. As the history information D30 stored in the third storage unit 103, for example, information indicating an incoming call from another communication terminal is event information, and based on a processing command transmitted from the telephone application based on the event information. In the case of the output of actual data, when the telephone number of the transmission source communication terminal that transmits the event information is A, the actual data A is reproduced, and when the telephone number is B, the actual data B is A table or the like in which telephone numbers and actual data are associated with each other is used such as reproduction.

そして、イベント情報受信部213が新たにイベント情報を受信した場合、イベント情報受信部213からイベント情報の受信を通知された実行処理部211は、当該イベント情報の内容に基づいて第3記憶部103に格納される履歴情報D30を参照し、イベント情報に対応付けて格納される実データD01に係る情報を取得する。そして、この結果に基づいて、第2記憶部102に格納される実データD01をあらかじめ実行可能な状態とする。このように、本実施形態に係るデータ処理装置4は、第3記憶部103に格納される履歴情報D30に基づいてあらかじめ実行可能な状態とする実データを特定し、実データをあらかじめ実行可能な状態にするという特徴を備える。なお、ここでいう「実行可能な状態」とは、上述の通り、実データD01を出力部105から出力するために行う必要がある処理を先行して行うことをいう。   When the event information receiving unit 213 newly receives event information, the execution processing unit 211 notified of the reception of the event information from the event information receiving unit 213 receives the third storage unit 103 based on the content of the event information. To obtain the information related to the actual data D01 stored in association with the event information. Based on this result, the actual data D01 stored in the second storage unit 102 is made ready to be executed. As described above, the data processing device 4 according to the present embodiment can identify actual data that can be executed in advance based on the history information D30 stored in the third storage unit 103, and can execute the actual data in advance. It has the feature of being in a state. Note that the “executable state” here refers to performing in advance a process that needs to be performed in order to output the actual data D01 from the output unit 105, as described above.

上記のような構成を備えるデータ処理装置4によるデータ処理方法のうち、これまでの実施形態で説明した処理とは異なる点を図17及び図18を用いて説明する。   Of the data processing method performed by the data processing apparatus 4 having the above-described configuration, points different from the processing described in the above embodiments will be described with reference to FIGS. 17 and 18.

図17は、第3記憶部103の履歴情報D30に履歴を記録する処理について説明するフローチャートである。この処理は、イベント情報受信部213においてイベント情報が受信され、実行処理部211に通知された際に処理が開始される(S1200、実行処理ステップ)。実行処理部211は、まずイベント情報に含まれる情報からイベント内容を特定する(S1201、実行処理ステップ)。具体的には、例えばイベントが他の携帯電話からの着信である場合には、発信者の電話番号がイベント内容として用いられる。また、例えばキー入力がイベント情報として取り扱われる場合は、キーコードがイベント内容として用いられる。続いて、第1仮想マシン41から当該イベント情報の受信に基づいた処理要求があった際に、処理要求がなされた仮想データD11に対応する実データD01を特定する(S1202)。そして、このステップで特定された実データD01と、イベント内容との対応関係が第3記憶部103に既に履歴情報D30として格納されているかを確認する(S1203)。ここで、既に履歴情報D30に上記の対応関係が格納されている場合には、重複格納を避けるため履歴記録に係る処理を終了する。しかしながら、履歴情報D30に上記の対応関係が格納されていない場合は、このイベント内容と実データD01との対応関係を新たな履歴データとして履歴情報D30に追加する(S1204)。以上により、履歴の記録に係る処理が終了する。   FIG. 17 is a flowchart illustrating a process of recording a history in the history information D30 of the third storage unit 103. This process is started when the event information is received by the event information receiving unit 213 and notified to the execution processing unit 211 (S1200, execution processing step). The execution processing unit 211 first identifies the event content from the information included in the event information (S1201, execution processing step). Specifically, for example, when the event is an incoming call from another mobile phone, the caller's telephone number is used as the event content. For example, when key input is handled as event information, a key code is used as event contents. Subsequently, when there is a processing request based on the reception of the event information from the first virtual machine 41, the actual data D01 corresponding to the virtual data D11 for which the processing request has been made is specified (S1202). Then, it is confirmed whether the correspondence between the actual data D01 specified in this step and the event contents is already stored as the history information D30 in the third storage unit 103 (S1203). Here, if the above correspondence is already stored in the history information D30, the processing related to history recording is terminated in order to avoid duplicate storage. However, if the above correspondence relationship is not stored in the history information D30, the correspondence relationship between the event contents and the actual data D01 is added to the history information D30 as new history data (S1204). Thus, the process related to history recording ends.

図18は、図17に示す処理により履歴が記載された履歴情報D30を用いたデコード処理について説明するフローチャートである。このフローチャートで示すデコード処理は、図13に示す第2実施形態に係るデータ処理装置2によるデコード処理と比較して、デコード処理の開始(S1000)が、イベント情報受信部213においてイベント情報を受信した時点とする点が異なる。また、イベント内容の特定(S1004)及びイベント内容と履歴から実データを特定する処理(S1005)が追加されている。   FIG. 18 is a flowchart illustrating a decoding process using history information D30 in which a history is described by the process shown in FIG. Compared with the decoding process performed by the data processing apparatus 2 according to the second embodiment shown in FIG. 13, the decoding process shown in this flowchart has received event information at the event information receiving unit 213 when the decoding process starts (S1000). The point of time is different. Further, an event content specification (S1004) and a process of specifying actual data from the event content and history (S1005) are added.

すなわち、図18に示すフローチャートでは、イベント情報受信部213がまずイベント情報を受信したときには、イベント情報受信部213から実行処理部211に対してこの情報が送られた後、まず、イベント情報に含まれるイベント内容を特定する(S1004、実行処理ステップ)。そして、第3記憶部103を参照し、このイベント内容に対応付けられた実データD01を特定する情報が履歴情報D30に記載されているかどうかを確認する(S1005、実行処理ステップ)。そして、履歴情報D30を参照することにより特定されたイベント情報に対応付けられた実データD01が、第2記憶部102に格納されているかを確認し(S1001)、ある場合には、実データD01を読み込み(S1002、実行処理ステップ)、さらにデコードする(S1003、実行処理ステップ)ことにより、対象となる実データD01をあらかじめ実行可能な状態(出力部105から出力することができる状態)とすることができ、デコードに係る処理は終了する。ここで、実データD01が第2記憶部102に格納されていない場合には、あらかじめデコード処理を行う対象となる実データを特定することができないため、以降の処理は中止される。なお、実行処理部211において第1仮想マシン41から実データを用いた処理の要求を受信した際に、この処理の要求において特定される実データが、上記の処理によって実行可能な状態とされた実データである場合には、当該実データを用いて出力処理を行う。また、処理の要求において特定される実データが、あらかじめ実行可能な状態とされたもの(デコード処理が行われたもの)と異なる場合は、第1仮想マシン41からの要求において指定された実データを新たに読み込まれ、当該実データの出力に係る一連の処理が行われる。   That is, in the flowchart shown in FIG. 18, when the event information receiving unit 213 first receives event information, this information is sent from the event information receiving unit 213 to the execution processing unit 211, and then included in the event information. Event content to be identified (S1004, execution processing step). Then, with reference to the third storage unit 103, it is confirmed whether or not the information specifying the actual data D01 associated with the event content is described in the history information D30 (S1005, execution processing step). Then, it is confirmed whether or not the actual data D01 associated with the event information specified by referring to the history information D30 is stored in the second storage unit 102 (S1001). Is read (S1002, execution processing step), and further decoded (S1003, execution processing step), so that the target real data D01 can be executed in advance (a state in which it can be output from the output unit 105). Thus, the decoding process ends. Here, if the actual data D01 is not stored in the second storage unit 102, the subsequent processing is stopped because the actual data to be subjected to the decoding process cannot be specified in advance. When the execution processing unit 211 receives a request for processing using actual data from the first virtual machine 41, the actual data specified in the request for this processing has been made executable by the above processing. In the case of actual data, output processing is performed using the actual data. Further, if the actual data specified in the processing request is different from the data that can be executed in advance (the data that has been decoded), the actual data specified in the request from the first virtual machine 41 Is newly read, and a series of processing relating to the output of the actual data is performed.

<本実施形態に係る効果>
このように、上記の実施形態によれば、第2仮想マシン42においてイベント情報を受信した際に、第1仮想マシン41からの処理要求を正式に受け付ける前に、第3記憶部103に格納される情報に基づいて、当該イベント情報に対応付けて格納される実データD01をあらかじめ実行可能な状態にすることができる。したがって、第1仮想マシン41からの要求に基づいて当該実データを用いたプログラムを実行する処理を開始するのを早めることができる。また、第2仮想マシン42に格納される実データが複数ある場合に、第1仮想マシン41から送信される処理要求を参照する前に、どの実データD01をあらかじめ実行可能な状態にするかが明確となり、不要なデータをあらかじめ実行可能な状態にする等の不要な処理を減らすことができる。
<Effects according to this embodiment>
As described above, according to the above embodiment, when event information is received in the second virtual machine 42, the event information is stored in the third storage unit 103 before the processing request from the first virtual machine 41 is officially received. Based on the information, the actual data D01 stored in association with the event information can be made ready to be executed in advance. Therefore, it is possible to speed up the start of the process of executing the program using the actual data based on the request from the first virtual machine 41. Further, when there are a plurality of real data stored in the second virtual machine 42, which real data D01 is to be executed in advance before referring to the processing request transmitted from the first virtual machine 41. It becomes clear and unnecessary processing such as making unnecessary data ready for execution can be reduced.

(第5実施形態)
<データ処理装置5の構成>
図19は、本発明の第5実施形態に係るデータ処理装置5の構成を説明するブロック図である。データ処理装置5に含まれる各構成のうちデータ処理装置2と異なる点は、以下の2点である。すなわち、第1点目は、出力部105がディスプレイ32という特定のデバイスである点である。また、第2点目は、このディスプレイ32は、第1仮想マシン41に新たに設けられた画面制御部206により制御されると共に、第2仮想マシン42により実行された処理の結果をディスプレイ32に対して出力する場合には、表示部214によって行われる点である。データ処理装置に含まれる出力手段は、スピーカー、ストレージ、IrDA(Infrared Data Association)、ネットワーク等の多岐に渡り、そのほとんどは主に第2仮想マシン42から直接制御することができる。しかしながら、データ処理装置の内部構成によっては、本実施形態のディスプレイ32のように第1仮想マシン41からでも一部事象については制御可能な出力手段もある。本実施形態では、データ処理装置5が第1仮想マシン41により画面のGUI(Graphical User Interface)出力に係る制御がなされているディスプレイ32を備え、このディスプレイ32に対して第2仮想マシン42により処理された結果を出力する場合について説明する。
(Fifth embodiment)
<Configuration of Data Processing Device 5>
FIG. 19 is a block diagram illustrating the configuration of the data processing device 5 according to the fifth embodiment of the present invention. Of the components included in the data processing device 5, the following two points are different from the data processing device 2. That is, the first point is that the output unit 105 is a specific device called the display 32. The second point is that the display 32 is controlled by the screen control unit 206 newly provided in the first virtual machine 41 and the result of the processing executed by the second virtual machine 42 is displayed on the display 32. On the other hand, the output is performed by the display unit 214. The output means included in the data processing apparatus is diverse, such as speakers, storage, IrDA (Infrared Data Association), network, etc., most of which can be controlled directly from the second virtual machine 42. However, depending on the internal configuration of the data processing apparatus, there is an output unit that can control some events even from the first virtual machine 41 like the display 32 of the present embodiment. In the present embodiment, the data processing apparatus 5 includes a display 32 that is controlled by a first virtual machine 41 for GUI (Graphical User Interface) output, and the second virtual machine 42 processes the display 32. A case of outputting the result is described.

画面制御部206は、判定部202により処理内容を特定する情報に基づいた処理を実データD01を用いて実行することが許容されると判定された場合に、ディスプレイ32のうち実データD01を用いてプログラムを実行した結果を表示するための画像表示領域を透過色に設定する機能を備える。   The screen control unit 206 uses the actual data D01 in the display 32 when the determination unit 202 determines that the process based on the information specifying the processing content is allowed to be performed using the actual data D01. A function for setting the image display area for displaying the result of executing the program to a transparent color.

第1仮想マシン41が出力制御を統括管理する場合、通常は第1仮想マシン41がデータを出力することによって、ディスプレイ32の全体の画像が形成される。この場合、第2仮想マシン42からディスプレイ32に対して画像を表示させる処理を行っても、ディスプレイ32では第1仮想マシン41により形成された画像が優先して表示されるため、第2仮想マシン42から送られる画像は表示されない。したがって、第2仮想マシン42からの画像をディスプレイ32に表示させるためには、画面制御部206によって第2仮想マシン42からの画像を表示させる領域を形成する処理が行われる必要がある。本実施形態では、この処理の手法の一つとして、第2仮想マシン42からの画像を表示させる領域を画面制御部206によって透過色とすることで、第2仮想マシン42からの画像をその領域に表示させる態様としている。以下、その具体的な処理について説明する。   When the first virtual machine 41 performs overall management of output control, the first virtual machine 41 normally outputs data, whereby the entire image of the display 32 is formed. In this case, even if a process of displaying an image on the display 32 from the second virtual machine 42 is performed, the image formed by the first virtual machine 41 is preferentially displayed on the display 32, so the second virtual machine The image sent from 42 is not displayed. Therefore, in order to display the image from the second virtual machine 42 on the display 32, the screen control unit 206 needs to perform a process for forming an area for displaying the image from the second virtual machine 42. In the present embodiment, as one of the processing methods, an area for displaying an image from the second virtual machine 42 is set to a transparent color by the screen control unit 206, so that the image from the second virtual machine 42 is displayed in the area. Is displayed. The specific processing will be described below.

まず、実データD01を出力する先がディスプレイ32であるかどうかは、第1仮想マシン42において、仮想データD11に対応付けられた実データD01が画像データであるかどうかによって判断される。この判断方法としては、例えば実データD01に対応付けられた仮想データD11が画像データであることを示す拡張子を有するかどうかという方法がある。また、仮想データD11の中身を参照し、当該ファイルのファイルフォーマットを直接確認することにより判断してもよい。そして、仮想データD11に対応する実データD01が画像データであり、且つ実データD01を用いることを要求する処理内容を実行することが許容されると判断された場合には、画面制御部206により、実データD01を開いて表示するための画像表示領域が設けられ、この領域に透過色が設定される。この画像表示領域は、ディスプレイ32の全面またはその一部に設けられる。画像表示領域が透過色に設定されない場合は、第1仮想マシン41で描画された画面に第2仮想マシン42において表示された画像を出力することはできないが、透過色が設定されることにより、当該エリアに限り第2仮想マシン42の表示部214により制御を行うことができる。   First, whether or not the display destination of the actual data D01 is the display 32 is determined in the first virtual machine 42 based on whether or not the actual data D01 associated with the virtual data D11 is image data. As this determination method, for example, there is a method of determining whether or not the virtual data D11 associated with the actual data D01 has an extension indicating that it is image data. The determination may be made by referring to the contents of the virtual data D11 and directly confirming the file format of the file. Then, when it is determined that the actual data D01 corresponding to the virtual data D11 is image data and it is allowed to execute the processing content that requires the use of the actual data D01, the screen control unit 206 An image display area for opening and displaying the actual data D01 is provided, and a transparent color is set in this area. This image display area is provided on the entire surface of the display 32 or a part thereof. When the image display area is not set to the transparent color, the image displayed on the second virtual machine 42 cannot be output to the screen drawn by the first virtual machine 41, but by setting the transparent color, Control can be performed by the display unit 214 of the second virtual machine 42 only in this area.

一方、第2仮想マシン42の表示部214は、第2仮想マシン42において実データD01を用いて出力した結果を画像表示領域内で表示させる表示手段としての機能を備える。   On the other hand, the display unit 214 of the second virtual machine 42 has a function as display means for displaying the result output using the actual data D01 in the second virtual machine 42 within the image display area.

ここで、画面制御部206及び表示部214によりディスプレイ32に表示させる画面の例について図20を用いて説明する。図20(A)は、第1仮想マシン41からディスプレイ32に表示される画像の例を示す。具体的には、画面の中央近傍に透過色に設定された画像表示領域A1が形成される。図20(B)は、第2仮想マシン42からディスプレイ32に表示される画像の例であり、表示部214により表示される画像データが画面中央に含まれている。さらに図20(C)は図20(A)と図20(B)に示す第1仮想マシン41及び第2仮想マシン42による表示画像を重ねあわせることにより、図20(A)の透過色に設定された画像表示領域A1において図20(B)に示す画像が透過されたことで、画面制御部206により構成された画面の画像表示領域A1内部に表示部214により表示される画像データが表示される例である。このように、画面制御部206により背景が透過色に設定された画像表示領域A1に対して、表示部214により実データD01を用いて実行処理を行った結果を表示させることで、第2仮想マシン42による処理の結果を第1仮想マシン41が統括管理するディスプレイ32に表示させることができる。   Here, an example of a screen displayed on the display 32 by the screen control unit 206 and the display unit 214 will be described with reference to FIG. FIG. 20A shows an example of an image displayed on the display 32 from the first virtual machine 41. Specifically, an image display area A1 set to a transparent color is formed near the center of the screen. FIG. 20B is an example of an image displayed on the display 32 from the second virtual machine 42, and image data displayed by the display unit 214 is included in the center of the screen. Further, FIG. 20C is set to the transparent color of FIG. 20A by superimposing the display images by the first virtual machine 41 and the second virtual machine 42 shown in FIGS. 20A and 20B. Since the image shown in FIG. 20B is transmitted through the image display area A1, the image data displayed by the display unit 214 is displayed inside the image display area A1 of the screen configured by the screen control unit 206. This is an example. As described above, the display unit 214 displays the result of executing the execution process using the actual data D01 on the image display area A1 whose background is set to the transparent color, whereby the second virtual The result of the processing by the machine 42 can be displayed on the display 32 that is managed by the first virtual machine 41.

本実施形態に係る画面制御部206は、更なる機能として、画像表示領域の変更に係る情報である変更情報を表示部214に通知する機能を有する。そして、表示部214は、更なる機能として、この変更情報に基づいて変更情報に基づいて、画像表示領域に実データD01を出力させる機能を有する。以下これらの機能について具体的に説明する。   The screen control unit 206 according to the present embodiment has a function of notifying the display unit 214 of change information, which is information related to the change of the image display area, as a further function. As a further function, the display unit 214 has a function of outputting the actual data D01 to the image display area based on the change information based on the change information. These functions will be specifically described below.

画面制御部206は、上述の画像表示領域に変更がある場合には、ディスプレイ32の透過色の領域を変更するとともに、この変更に係る情報である変更情報として表示部214に対して通知する機能を有する。画像表示領域は、例えばアプリケーションプログラム毎に、表示位置やその大きさが変わるため、常に一定ではない。より具体的には、例えばディスプレイ32の表示方式が縦表示から横表示に変更となった場合等に、画像表示領域を変更する必要が生じる。その場合には、例えばディスプレイ32の表示方式を変更する機能部から画面制御部206に対して表示方式の変更が依頼され、画面制御部206がこの依頼に基づいて処理を行う。画像表示領域を変更する必要が生じた場合には、画像表示領域は画面制御部206により変更され、この変更情報が表示部214に対して通知される。ここで、画面制御部206から表示部214に対して通知される情報は、変更後の画像表示領域の位置とサイズの情報である。一方、表示部214は、上述のように画面制御部206から通知される画像表示領域の変更に係る情報を受信し、この情報に基づいて、実行処理部211によって実データD01を用いたプログラムを実行された結果を、ディスプレイ32の画像表示領域に対して表示させる。これにより、変更後の画像表示領域に対しても、実データD01を用いたプログラムの実行結果が適切に表示される。   When the image display area is changed, the screen control unit 206 changes the transparent color area of the display 32 and notifies the display unit 214 of change information that is information related to the change. Have The image display area is not always constant because, for example, the display position and the size thereof vary for each application program. More specifically, for example, when the display method of the display 32 is changed from vertical display to horizontal display, the image display area needs to be changed. In this case, for example, a function unit that changes the display method of the display 32 requests the screen control unit 206 to change the display method, and the screen control unit 206 performs processing based on this request. When it is necessary to change the image display area, the image display area is changed by the screen control unit 206, and the change information is notified to the display unit 214. Here, the information notified from the screen control unit 206 to the display unit 214 is information on the position and size of the image display area after the change. On the other hand, the display unit 214 receives the information related to the change of the image display area notified from the screen control unit 206 as described above, and based on this information, the execution processing unit 211 executes a program using the actual data D01. The executed result is displayed on the image display area of the display 32. As a result, the execution result of the program using the actual data D01 is appropriately displayed even in the changed image display area.

<データ処理装置5によるデータ処理方法>
次に、図21及び図22を用いて、本実施形態に係るデータ処理装置5によるデータ処理方法を説明する。図21(A)は、第1仮想マシン41から第2仮想マシン42に対して処理要求を行うための処理について説明するフローチャートである。また、図21(B)は、第1仮想マシン41から送信される処理の要求に応じて第2仮想マシン42において行われる処理を説明するフローチャートである。また、図22は、画像表示領域の変更がなされる場合の処理について説明するフローチャートである。
<Data Processing Method by Data Processing Device 5>
Next, a data processing method by the data processing apparatus 5 according to the present embodiment will be described with reference to FIGS. 21 and 22. FIG. 21A is a flowchart for describing processing for making a processing request from the first virtual machine 41 to the second virtual machine 42. FIG. 21B is a flowchart for describing processing performed in the second virtual machine 42 in response to a processing request transmitted from the first virtual machine 41. FIG. 22 is a flowchart for explaining processing when the image display area is changed.

図21(A)に示すフローチャートは、図8に示す第1実施形態のデータ処理装置1による処理要求処理に係るフローチャートと比較して、処理命令(出力命令)を送信したプログラム(本実施形態では電話アプリ)が仮想データD11を利用中であるという状態を示すフラグが保持されているかを確認した(S202)後、その結果に基づいて第2仮想マシン42に対して処理要求を送信する(S203)前に、処理要求部203から画面制御部206に対して画像表示領域に透過色を設定する旨の指示が出される処理が追加される。そして、画面制御部206では、処理要求部203からの指示に基づいて画像表示領域に透過色が設定される(S204、画面制御ステップ)。その後、第2仮想マシン42に対して実データD01を用いた処理の要求がなされる(S203)。   The flowchart shown in FIG. 21A is a program (in this embodiment) that transmits a processing command (output command) as compared with the flowchart related to the processing request processing by the data processing apparatus 1 of the first embodiment shown in FIG. After confirming whether or not a flag indicating that the telephone application is using the virtual data D11 is held (S202), a processing request is transmitted to the second virtual machine 42 based on the result (S203). ) Before the processing request unit 203 instructs the screen control unit 206 to give an instruction to set a transparent color in the image display area. The screen control unit 206 sets a transparent color in the image display area based on an instruction from the processing request unit 203 (S204, screen control step). Thereafter, a request for processing using the actual data D01 is made to the second virtual machine 42 (S203).

図21(B)に示すフローチャートは、図9に示す第1実施形態のデータ処理装置1による実行処理に係るフローチャートと比較して、実データD01のデコード後の処理が追加されている。具体的には、第1仮想マシン41から送信された処理要求により特定される実データD01が実行処理部211により確認された後(S301)、実データD01の読み込み(S302)及びデコード(S303)が行われる。さらに、本実施形態に係るデータ処理方法では、出力先がディスプレイ32内の画像表示領域であるので、表示部214によりこの出力処理の結果を画像表示領域に対して出力した上で(S305)、ディスプレイ32への出力処理(S306)を行う。以上の処理により、第2仮想マシン42において実行された処理の結果が第1仮想マシン41の管轄するディスプレイ32に出力される。   In the flowchart shown in FIG. 21B, processing after decoding of the actual data D01 is added as compared to the flowchart related to the execution processing by the data processing apparatus 1 of the first embodiment shown in FIG. Specifically, after the real data D01 specified by the processing request transmitted from the first virtual machine 41 is confirmed by the execution processing unit 211 (S301), the real data D01 is read (S302) and decoded (S303). Is done. Furthermore, in the data processing method according to the present embodiment, since the output destination is the image display area in the display 32, the result of the output process is output to the image display area by the display unit 214 (S305). An output process to the display 32 (S306) is performed. As a result of the above process, the result of the process executed in the second virtual machine 42 is output to the display 32 that is under the jurisdiction of the first virtual machine 41.

図22に示すフローチャートは、画像表示領域の変更に係る処理を説明するフローチャートであり、図22(A)は第1仮想マシン41において行われる画像表示領域の変更を通知する処理を説明するものである。この処理は、上述のように、画面制御部206がディスプレイ32の表示方式を変更する機能部からの画像表示領域の変更に係る依頼を受けた際に開始される(S1300)。画面制御部206は、まず、画像表示領域の変更を含む画面表示の変更の依頼を受けると、新しい画像表示領域の位置とサイズを決定する(S1301)。そして、この位置とサイズの情報を含む画像表示領域の変更情報を第2仮想マシン42に対して通知し、変更を指示する(S1302)。以上の処理により、第1仮想マシン41から第2仮想マシン42に対して画像表示領域の変更が通知される。   The flowchart shown in FIG. 22 is a flowchart for explaining processing related to the change of the image display area, and FIG. 22 (A) explains the processing for notifying the change of the image display area performed in the first virtual machine 41. is there. As described above, this processing is started when the screen control unit 206 receives a request for changing the image display area from the function unit that changes the display method of the display 32 (S1300). When the screen control unit 206 receives a request to change the screen display including the change of the image display area, the screen control unit 206 determines the position and size of the new image display area (S1301). Then, the change information of the image display area including the position and size information is notified to the second virtual machine 42, and the change is instructed (S1302). Through the above processing, the first virtual machine 41 notifies the second virtual machine 42 of the change of the image display area.

図22(B)は、第1仮想マシン41からの画像表示領域の変更情報を第2仮想マシン42において受信することにより開始され(S1400)、画像表示領域の変更に係る処理を説明するものである。第2仮想マシン42の表示部214は、第1仮想マシン41からの画像表示領域の変更情報を受け取ると、変更後の画像表示領域の位置とサイズを把握する(S1401)。そして、実行処理部211において行われる実データD01を用いたプログラムの実行結果を表示する際に、上記の画像表示領域の変更情報を反影して表示させる(S1402)。以上の処理により、第1仮想マシン41から通知された画像表示領域の変更を反影することができる。   FIG. 22B illustrates the processing related to the change of the image display area, which is started when the second virtual machine 42 receives the change information of the image display area from the first virtual machine 41 (S1400). is there. Upon receiving the change information of the image display area from the first virtual machine 41, the display unit 214 of the second virtual machine 42 grasps the position and size of the image display area after the change (S1401). When the execution result of the program using the actual data D01 performed in the execution processing unit 211 is displayed, the change information of the image display area is reflected and displayed (S1402). With the above processing, the change in the image display area notified from the first virtual machine 41 can be reflected.

<本実施形態による効果>
以上のように、本実施形態によれば、第1仮想マシン41により制御されるディスプレイ32である出力手段に対して第2仮想マシン42においてデータを用いて処理を行った結果を出力する場合、第1仮想マシン41の画面制御部206が判定部202による判定結果に基づいて画像表示領域を透過色にし、データの処理結果が第2仮想マシン42の表示部214によって当該領域に対して表示される。このように、出力部105が第1仮想マシン41により画面のGUI制御がなされてディスプレイ32に出力する形態であっても、第2仮想マシン42による処理の結果を好適に表示させることができる。
<Effects of this embodiment>
As described above, according to the present embodiment, when outputting the result of processing using data in the second virtual machine 42 to the output means that is the display 32 controlled by the first virtual machine 41, The screen control unit 206 of the first virtual machine 41 changes the image display area to a transparent color based on the determination result by the determination unit 202, and the data processing result is displayed on the area by the display unit 214 of the second virtual machine 42. The As described above, even when the output unit 105 performs screen GUI control by the first virtual machine 41 and outputs the result to the display 32, the result of processing by the second virtual machine 42 can be suitably displayed.

画面制御部206から表示部214に対して通知される画像表示領域を指定する情報としては、例えば、「1:QCIF横、2:QCIF縦、3:QVGA横、4:QVGA縦」というように、特定の画像表示領域毎に対して画面制御部206と表示部214との間で用いられる番号をあらかじめ決めておき、この番号を用いて画像表示領域を通知する方法もある。しかし、上記のように、画面制御部206が画像表示領域の位置や大きさの情報を含む変更情報を第2仮想マシン42の表示部214に対して通知し、表示部214はこの変更情報に基づいて実データD01を用いて処理を行った結果をディスプレイ32に表示させる場合は、画像表示領域の変更をより柔軟に行うことができ、画像表示領域の変更に応じて実行した結果をディスプレイ32に対して好適に表示させることができる。   Information specifying the image display area notified from the screen control unit 206 to the display unit 214 is, for example, “1: QCIF horizontal, 2: QCIF vertical, 3: QVGA horizontal, 4: QVGA vertical”. There is also a method in which a number used between the screen control unit 206 and the display unit 214 is determined in advance for each specific image display region, and the image display region is notified using this number. However, as described above, the screen control unit 206 notifies the change information including the position and size information of the image display area to the display unit 214 of the second virtual machine 42, and the display unit 214 includes the change information. In the case where the result of processing using the actual data D01 is displayed on the display 32, the image display area can be changed more flexibly, and the result executed according to the change of the image display area is displayed on the display 32. Can be suitably displayed.

(第6実施形態)
<データ処理装置6の構成及びデータ処理方法>
図23は、本発明の第6実施形態に係るデータ処理装置6の構成を説明するブロック図である。データ処理装置6に含まれる各構成のうちデータ処理装置5と異なる点は、データ処理装置6がディスプレイ32とスピーカー33とを出力手段として備え、実データD01が例えば動画データのようにディスプレイ32へ出力する画像データとスピーカー33へ出力される音声データとを含むデータであり、実行処理部211による処理結果が、ディスプレイ32とスピーカー33とに出力される点である。なお、ディスプレイ32は、データ処理装置5と同様に第1仮想マシン41により画面のGUI制御がなされている。また、実行処理部211による処理の結果は表示部214を介してディスプレイ32に送られる。
(Sixth embodiment)
<Configuration of Data Processing Device 6 and Data Processing Method>
FIG. 23 is a block diagram illustrating the configuration of the data processing device 6 according to the sixth embodiment of the present invention. Of the components included in the data processing device 6, the data processing device 6 is different from the data processing device 5 in that the data processing device 6 includes a display 32 and a speaker 33 as output means, and the actual data D01 is transferred to the display 32 as, for example, moving image data. This is data including image data to be output and audio data to be output to the speaker 33, and the processing result by the execution processing unit 211 is output to the display 32 and the speaker 33. Note that the display 32 is GUI-controlled by the first virtual machine 41 in the same manner as the data processing device 5. Further, the result of the processing by the execution processing unit 211 is sent to the display 32 via the display unit 214.

本実施形態に係るデータ処理装置6では、上記のように実データD01が動画データであるため、実データD01を用いて処理を行った場合には、その処理結果が従来はディスプレイ32とスピーカー33とに出力される。しかしながら、例えば、所有者がデータ処理装置6をマナーモード等に設定することによって、複数の出力手段の一つであるスピーカー33からの音声出力が禁止されるような状態にある場合の、実データD01の処理について説明する。   In the data processing apparatus 6 according to the present embodiment, since the actual data D01 is moving image data as described above, when processing is performed using the actual data D01, the processing result is conventionally obtained by the display 32 and the speaker 33. And output. However, for example, when the owner sets the data processing device 6 to the manner mode or the like, the actual data when the audio output from the speaker 33, which is one of the plurality of output means, is prohibited. The process of D01 will be described.

上記のように音声出力が禁止される設定は、所有者がデータ処理装置6を操作することによって行われる。そして、この設定がなされたという情報は、データ処理装置6において第1仮想マシン41の処理要求部203において格納される。そして、処理要求部203が判定部202による判定結果に基づいて、第2仮想マシン42に対して実データD01を用いた処理を要求する際に、特定の出力手段(例えばスピーカー33)への出力が制限されている場合には、当該出力手段への出力を第2仮想マシン42に対して要求せず、出力が制限されていない出力手段(例えばディスプレイ32)への出力に係る処理のみを要求する。そして、第2仮想マシン42の実行処理部211では、第1仮想マシン41からの要求に基づいて特定の出力手段に対してのみの出力を想定して実データD01を用いたプログラムの実行処理が行われる。   The setting for prohibiting voice output as described above is performed by the owner operating the data processing device 6. Information indicating that this setting has been made is stored in the processing request unit 203 of the first virtual machine 41 in the data processing device 6. When the processing request unit 203 requests the second virtual machine 42 to perform processing using the actual data D01 based on the determination result by the determination unit 202, the output to a specific output unit (for example, the speaker 33). Is restricted, the output to the output means is not requested to the second virtual machine 42, and only the process related to the output to the output means (for example, the display 32) whose output is not restricted is requested. To do. Then, the execution processing unit 211 of the second virtual machine 42 executes program execution processing using the actual data D01 on the basis of a request from the first virtual machine 41 and assuming output only to a specific output means. Done.

上記の処理を図24を用いてより具体的に説明する。図24は、データ処理装置6によるデータ処理方法のうち、処理要求部203において行われる第2仮想マシン42に対する処理要求に係る処理を説明するフローチャートである。図24における処理では、図21(A)に示す第5実施形態のデータ処理装置5による処理要求処理に係るフローチャートと比較して、処理命令を行ったアプリケーションプログラムが判定部202において仮想データD11を利用中である旨のフラグが保持されたプログラムか否かを処理要求部203において判断した(S202)後、画像表示領域に透過色の設定を行う(S204)の前に、出力手段に対して出力の制限があるかの確認が行われる(S205)。ここで行われる出力の制限の確認とは、上述のようにディスプレイ32やスピーカー33からの出力が、例えばマナーモード等の設定により制限されているかどうかの確認であり、複数の出力手段がある場合には個別に行われる。例えば、マナーモードの設定であり、スピーカー33のみ出力が制限されている場合には、スピーカー33への出力に関しての処理は、ここで中止される。一方、ディスプレイ32への出力は特に制限されてないため、処理が継続され、図21(A)に示す処理と同様に、画像データを表示するための画像表示領域の設定を行い(S204)、実データD01に対する処理の結果のうちの画像データだけを対象として、第2仮想マシン42に対して、処理の要求が行われる(S205)。以上の処理により、第2仮想マシン42に対しては実データD01に含まれるデータのうち画像データのみの処理が要求され、第2仮想マシン42ではこの要求に基づいて処理が行われ、その処理結果が、表示部214を介してディスプレイ32に出力される。   The above processing will be described more specifically with reference to FIG. FIG. 24 is a flowchart for explaining processing related to a processing request to the second virtual machine 42 performed by the processing request unit 203 in the data processing method by the data processing device 6. In the processing in FIG. 24, the application program that issued the processing instruction uses the virtual data D11 in the determination unit 202 as compared to the flowchart relating to the processing request processing by the data processing device 5 of the fifth embodiment shown in FIG. After determining whether or not the program holds a flag indicating that the program is being used (S202), before setting a transparent color in the image display area (S204), the output means It is confirmed whether there is an output limitation (S205). The confirmation of output restriction performed here is confirmation of whether or not the output from the display 32 or the speaker 33 is restricted by, for example, the manner mode setting as described above, and there are a plurality of output means. Is done individually. For example, when the manner mode is set and the output of only the speaker 33 is restricted, the processing related to the output to the speaker 33 is stopped here. On the other hand, since the output to the display 32 is not particularly limited, the processing is continued, and an image display area for displaying image data is set (S204), as in the processing shown in FIG. A process request is made to the second virtual machine 42 for only image data in the result of the process for the actual data D01 (S205). Through the above processing, the second virtual machine 42 is requested to process only the image data among the data included in the actual data D01, and the second virtual machine 42 performs processing based on this request, and the processing The result is output to the display 32 via the display unit 214.

<本実施形態による効果>
以上のように、本実施形態によれば、例えば複数の出力手段のうち一部の出力手段(上記の例ではスピーカー33)への出力が制限されている場合に、第1仮想マシン41の処理要求部203において各出力手段への出力可否が判断され、その結果に基づいて第2仮想マシン42に対して実データD01の処理が要求される。この結果、第2仮想マシン42において実データD01を用いて行われた処理の結果を一部の出力手段のみ(上記の例ではディスプレイ32)に対して出力される態様とすることができ、データ処理装置6により実データD01を利用する際の利便性をさらに高めることができる。
<Effects of this embodiment>
As described above, according to the present embodiment, for example, when output to some of the plurality of output units (the speaker 33 in the above example) is restricted, the process of the first virtual machine 41 is performed. The request unit 203 determines whether or not output to each output means is possible, and based on the result, the second virtual machine 42 is requested to process the actual data D01. As a result, the result of processing performed using the actual data D01 in the second virtual machine 42 can be set to a mode in which only a part of output means (display 32 in the above example) is output. Convenience when using the actual data D01 by the processing device 6 can be further enhanced.

なお、上記の実施形態では、複数の出力手段に対して実データD01の処理結果を出力する場合について説明したが、実データD01を用いた処理の結果が出力される出力手段が一つであり、その出力手段による出力が制限されている場合には、第2仮想マシン42に対して実データD01を用いた処理の要求は行われない。より具体的には、例えば実データD01が音楽データである場合、実データD01を用いた再生処理の結果は、スピーカー33に対してのみ出力される。ここで、マナーモード等の設定により、スピーカー33からの音声出力が制限されている場合には、処理要求部203によって図24に示すフローチャートに従って出力の制限を確認する(S205)と、スピーカー33に対する音声出力が制限されていることが確認されるため、音声出力に係る処理はここで終了される。そして、第2仮想マシン42による実データD01を用いた処理の結果は他の出力手段に対しては出力されない。そのため、第2仮想マシン42に対して実データD01を用いた処理の要求を送信する必要がなく、以降の処理は中止される。このように、出力が制限されている出力手段に対しての出力が行われる処理の要求は、第1仮想マシン41から第2仮想マシン42に対して送信されないことから、第2仮想マシン42において出力要否を判断することがなく出力が中止され、データ処理装置6によりデータを利用する際の利便性を高めることができる。また、第2仮想マシン42では不要な処理を行うことがなく、よりデータ処理装置6において上記の処理を効率よく行うことができる。   In the above-described embodiment, the case where the processing result of the actual data D01 is output to a plurality of output units has been described. However, there is one output unit that outputs the processing result using the actual data D01. When the output by the output means is restricted, the second virtual machine 42 is not requested to process using the actual data D01. More specifically, for example, when the actual data D01 is music data, the result of the reproduction process using the actual data D01 is output only to the speaker 33. Here, when the sound output from the speaker 33 is restricted by the setting of the manner mode or the like, the processing request unit 203 confirms the restriction of the output according to the flowchart shown in FIG. Since it is confirmed that the audio output is restricted, the process related to the audio output is ended here. Then, the result of the process using the actual data D01 by the second virtual machine 42 is not output to other output means. Therefore, it is not necessary to send a request for processing using the actual data D01 to the second virtual machine 42, and the subsequent processing is stopped. In this way, since the request for processing to be output to the output means for which output is restricted is not transmitted from the first virtual machine 41 to the second virtual machine 42, the second virtual machine 42 Output is stopped without determining whether output is necessary, and the convenience when using data by the data processing device 6 can be enhanced. Further, unnecessary processing is not performed in the second virtual machine 42, and the above processing can be performed more efficiently in the data processing device 6.

なお、マナーモードのほかに、例えばデータ処理装置6に対して外部との通信を遮断するセルフモードの設定がなされており、実データD01を用いた処理の結果を外部に送信する必要がある場合にも適用することができる。この場合、上記とマナーモードの設定がなされている場合と同様の処理によって第1仮想マシン41において第2仮想マシン42に対する処理の要求が中止されるため、第2仮想マシン42における実データD01を用いた処理の実行及びその結果の送信に係る処理が行われない。   In addition to the manner mode, for example, the data processing device 6 is set to the self mode for blocking communication with the outside, and the result of processing using the actual data D01 needs to be transmitted to the outside. It can also be applied to. In this case, since the processing request for the second virtual machine 42 is canceled in the first virtual machine 41 by the same processing as the case where the manner mode is set as described above, the actual data D01 in the second virtual machine 42 is stored. The processing related to the execution of the used processing and the transmission of the result is not performed.

(データ処理プログラム)
引き続いて、上述した一連のデータ処理を、上述したようなデータ処理装置1〜5として構成されるコンピュータに実行させるためのデータ処理プログラムを説明する。図25に示すように、データ処理プログラム61は、コンピュータが備える記録媒体60に形成されたプログラム格納領域60a内に格納されている。
(Data processing program)
Subsequently, a data processing program for causing a computer configured as the above-described data processing devices 1 to 5 to execute the above-described series of data processing will be described. As shown in FIG. 25, the data processing program 61 is stored in a program storage area 60a formed in a recording medium 60 provided in the computer.

データ処理プログラム61は、処理を統括するメインモジュール61aと、受信モジュール61bと、判定モジュール61cと、処理要求モジュール61dと、実行処理モジュール61eと、を備えて構成される。受信モジュール61bと、判定モジュール61cと、処理要求モジュール61dと、実行処理モジュール61eと、を実行させることにより実現される機能は、上述した受信部201と、判定部202と、処理要求部203と、実行処理部204の機能とそれぞれ同様である。   The data processing program 61 includes a main module 61a that supervises processing, a receiving module 61b, a determination module 61c, a processing request module 61d, and an execution processing module 61e. The functions realized by executing the reception module 61b, the determination module 61c, the processing request module 61d, and the execution processing module 61e are the reception unit 201, the determination unit 202, and the processing request unit 203 described above. The functions of the execution processing unit 204 are the same.

(変形例)
以上本発明の好適な実施形態について説明したが、本発明に係るデータ処理装置、データ処理方法及びデータ処理プログラムは種々の変更を行うことが可能である。
(Modification)
Although the preferred embodiments of the present invention have been described above, the data processing apparatus, the data processing method, and the data processing program according to the present invention can be variously modified.

上記の実施形態では、データ処理装置1〜6が出力手段(出力部)を備え、当該出力手段に対して実データD01を用いたプログラムの実行結果を出力する場合について説明したが、出力手段は外部の装置である態様としてもよい。この場合には、通信部34を介して外部と通信をすることにより、外部の装置に対して第2仮想マシン42における実データD01を用いたプログラムの実行の処理結果を送信することにより、第2仮想マシン42に格納される実データD01を用いた処理の結果をデータ処理装置の所有者等が確認することができる。   In the above embodiment, the case where the data processing devices 1 to 6 include output means (output unit) and output the execution result of the program using the actual data D01 to the output means has been described. It is good also as an aspect which is an external apparatus. In this case, by communicating with the outside via the communication unit 34, the processing result of the execution of the program using the actual data D01 in the second virtual machine 42 is transmitted to the external device, thereby 2 The owner of the data processing apparatus can confirm the result of processing using the actual data D01 stored in the virtual machine 42.

1,2,3,4,5…データ処理装置、41…第1仮想マシン、42…第2仮想マシン、101…第1記憶部、102…第2記憶部、201…受信部、202…判定部、203…処理要求部、205…更新部、211…実行処理部、212…通知部、D01…実データ、D11…仮想データ。

1, 2, 3, 4, 5 ... data processing device, 41 ... first virtual machine, 42 ... second virtual machine, 101 ... first storage unit, 102 ... second storage unit, 201 ... receiving unit, 202 ... determination , 203 ... processing request part, 205 ... update part, 211 ... execution processing part, 212 ... notification part, D01 ... real data, D11 ... virtual data.

Claims (14)

互いに異なるオペレーションシステムにより動作する第1仮想マシンと第2仮想マシンとを備えるデータ処理装置であって、
前記第1仮想マシンは、
実行することが許容される処理内容があらかじめ特定され、前記第2仮想マシンにおいて格納されるデータに対応付けられた仮想データを格納する第1記憶手段と、
前記データを用いて実行する処理内容を特定する情報が含まれ、前記仮想データを用いた処理命令を受信する受信手段と、
前記受信手段により受信された前記処理命令に含まれる前記処理内容を特定する情報に基づいて、前記仮想データに対して処理を実行することが許容されるか否かを判定する判定手段と、
前記判定手段により前記処理内容を特定する情報に基づいた処理を前記仮想データに対して実行することが許容されると判定された場合に、前記仮想データに対応付けられた前記データの処理を前記第2仮想マシンへ要求する処理要求手段と、
を備え、
前記第2仮想マシンは、
前記データを格納する第2記憶手段と、
前記データを用いて実行されるプログラムを格納し、前記1仮想マシンからの要求に基づいて、前記データを用いて前記プログラムを実行する実行処理手段と、
を備えることを特徴とするデータ処理装置。
A data processing apparatus comprising a first virtual machine and a second virtual machine that are operated by different operation systems,
The first virtual machine is
A first storage unit that stores in advance virtual data associated with data stored in the second virtual machine, in which processing content allowed to be executed is specified in advance;
Receiving means for receiving a processing command using the virtual data, including information for specifying processing contents to be executed using the data;
Determination means for determining whether or not to execute processing on the virtual data based on information specifying the processing content included in the processing instruction received by the receiving means;
When it is determined by the determination means that the process based on the information specifying the process content is allowed to be performed on the virtual data, the process of the data associated with the virtual data is performed Processing request means for requesting the second virtual machine;
With
The second virtual machine is
Second storage means for storing the data;
Execution processing means for storing a program executed using the data and executing the program using the data based on a request from the one virtual machine;
A data processing apparatus comprising:
前記第2仮想マシンは、前記第2記憶手段に格納される前記データが更新された場合に、前記第2記憶手段に格納される前記データの更新に係る情報が含まれる更新情報を前記第1仮想マシンに通知する通知手段を更に備え、
前記第1仮想マシンは、前記通知手段より通知される前記更新情報を取得し、当該更新情報に基づいて第1記憶手段に格納される前記仮想データを更新する更新手段を更に備える
ことを特徴とする請求項1記載のデータ処理装置。
When the data stored in the second storage unit is updated, the second virtual machine receives update information including information relating to the update of the data stored in the second storage unit. A notification means for notifying the virtual machine;
The first virtual machine further comprises update means for acquiring the update information notified from the notification means and updating the virtual data stored in the first storage means based on the update information. The data processing apparatus according to claim 1.
前記第1仮想マシンは、前記第2仮想マシンに対して前記データの実行処理の終了を要求する処理終了要求手段を更に備え、
前記実行処理手段は、前記処理終了要求手段からの要求に基づいて、前記データを用いた前記プログラムの実行を中止する
ことを特徴とする請求項1または2記載のデータ処理装置。
The first virtual machine further includes processing end request means for requesting the second virtual machine to end the data execution processing,
The data processing apparatus according to claim 1, wherein the execution processing unit stops the execution of the program using the data based on a request from the processing end request unit.
前記実行処理手段は、前記第2記憶手段に格納される前記データをあらかじめ実行可能な状態にすることを特徴とする請求項1〜3のいずれか一項に記載のデータ処理装置。   The data processing apparatus according to any one of claims 1 to 3, wherein the execution processing unit makes the data stored in the second storage unit ready to be executed. 前記第2仮想マシンは、
前記受信手段において前記処理命令を受信する契機となるイベントに係る情報であるイベント情報を受信するイベント情報受信手段を更に備え、
前記実行処理手段は、前記イベント情報受信手段が前記イベント情報を受信した後の一定時間のみ、前記処理要求手段からの要求に基づいて、前記データを用いて前記プログラムを実行する
ことを特徴とする請求項1〜4のいずれか一項に記載のデータ処理装置。
The second virtual machine is
Event information receiving means for receiving event information that is information related to an event that triggers reception of the processing command in the receiving means,
The execution processing means executes the program using the data based on a request from the processing requesting means only for a certain time after the event information receiving means receives the event information. The data processing apparatus as described in any one of Claims 1-4.
前記第2仮想マシンは、
前記イベント情報受信手段により受信された前記イベント情報と、前記イベント情報を受信した後に前記実行処理手段により用いられた前記データと、を対応付けて格納する第3記憶手段とを更に備え、
前記実行処理手段は、前記イベント情報受信手段が前記イベント情報を受信した際に、前記第3記憶手段を参照し、前記イベント情報受信手段が受信した前記イベント情報に対応付けて格納される前記データをあらかじめ実行可能な状態にする
ことを特徴とする請求項5記載のデータ処理装置。
The second virtual machine is
A third storage means for storing the event information received by the event information receiving means and the data used by the execution processing means after receiving the event information in association with each other;
The execution processing means refers to the third storage means when the event information receiving means receives the event information, and stores the data stored in association with the event information received by the event information receiving means The data processing apparatus according to claim 5, wherein the data processing apparatus is in an executable state.
前記実行処理手段により前記データを用いて前記プログラムを実行した結果を出力する出力手段を更に備えることを特徴とする請求項1〜6のいずれか一項に記載のデータ処理装置。   The data processing apparatus according to claim 1, further comprising an output unit that outputs a result of executing the program using the data by the execution processing unit. 前記出力手段は、前記第1仮想マシンにより制御されるディスプレイであって、
前記データは画像データであって、
前記第1仮想マシンは、前記ディスプレイの画面表示を制御する画面制御手段を更に備え、
前記第2仮想マシンは、前記実行処理手段により前記データを用いて前記プログラムを実行した結果を前記ディスプレイに対して表示させる表示手段を更に備え、
前記画面制御手段は、前記判定手段により前記処理内容を特定する情報に基づいた処理を前記仮想データに対して実行することが許容されると判定された場合に、前記ディスプレイのうち前記データを用いて前記プログラムを実行した結果を表示するための画像表示領域を透過色に設定し、
前記表示手段は、前記データを用いて前記プログラムを実行した結果を前記画像表示領域に表示させる
ことを特徴とする請求項7記載のデータ処理装置。
The output means is a display controlled by the first virtual machine,
The data is image data,
The first virtual machine further includes screen control means for controlling screen display of the display,
The second virtual machine further includes display means for causing the display to display a result of executing the program using the data by the execution processing means,
The screen control unit uses the data in the display when the determination unit determines that the process based on the information specifying the processing content is allowed to be performed on the virtual data. Set the image display area for displaying the result of executing the program to transparent color,
The data processing apparatus according to claim 7, wherein the display unit displays a result of executing the program using the data in the image display area.
前記画面制御手段は、前記画像表示領域の変更に係る情報である変更情報を前記表示手段に通知し、
前記表示手段は、前記変更情報に基づいて、前記画像表示領域に前記データを用いて前記プログラムを実行した結果を表示させる
ことを特徴とする請求項8記載のデータ処理装置。
The screen control means notifies the display means of change information that is information relating to the change of the image display area,
The data processing apparatus according to claim 8, wherein the display unit displays a result of executing the program using the data in the image display area based on the change information.
前記変更情報は、前記画像表示領域の位置とサイズの変更に係る情報であることを特徴とする請求項9記載のデータ処理装置。   The data processing apparatus according to claim 9, wherein the change information is information related to a change in position and size of the image display area. 前記処理要求手段は、前記出力手段への出力が制限されている場合には、前記第2仮想マシンに対する前記データの処理の要求を中止することを特徴とする請求項7〜9のいずれか一項に記載のデータ処理装置。   10. The process request unit according to claim 7, wherein when the output to the output unit is restricted, the process request unit stops the data processing request to the second virtual machine. The data processing device according to item. 前記データ処理装置は前記出力手段を複数備え、
前記処理要求手段は、前記データを用いて前記プログラムを実行した結果が複数の前記出力手段へ出力される場合に、前記複数の出力手段のうちの一部の出力手段に対してのみ前記プログラムを実行した結果の出力を前記第2仮想マシンに対して要求することを特徴とする請求項7〜10のいずれか一項に記載のデータ処理装置。
The data processing device comprises a plurality of the output means,
The processing requesting means, when a result of executing the program using the data is output to the plurality of output means, the program is executed only for some output means of the plurality of output means. The data processing apparatus according to any one of claims 7 to 10, wherein an output of an execution result is requested to the second virtual machine.
互いに異なるオペレーションシステムにより動作する第1仮想マシンと第2仮想マシンとを備えるデータ処理装置によるデータ処理方法であって、
前記第1仮想マシンの第1記憶手段が、実行することが許容される処理内容があらかじめ特定され、前記第2仮想マシンにおいて格納されるデータに対応付けられた仮想データを格納する第1記憶ステップと、
前記第1仮想マシンの受信手段が、前記データを用いて実行する処理内容を特定する情報が含まれ、前記仮想データを用いた処理命令を受信する受信ステップと、
前記第1仮想マシンの判定手段が、前記受信ステップにおいて受信された前記処理命令に含まれる前記処理内容を特定する情報に基づいて、前記仮想データに対して処理を実行することが許容されるか否かを判定する判定ステップと、
前記第1仮想マシンの処理要求手段が、前記判定ステップにおいて前記処理内容を特定する情報に基づいた処理を前記仮想データに対して実行することが許容されると判定された場合に、前記仮想データに対応付けられた前記データの処理を前記第2仮想マシンへ要求する処理要求ステップと、
前記第2仮想マシンの第2記憶手段が前記データを格納する第2記憶ステップと、
前記第2仮想マシンの実行処理手段が、前記データを用いて実行されるプログラムを格納し、前記1仮想マシンからの要求に基づいて、前記データを用いて前記プログラムを実行する実行処理ステップと、
を備えることを特徴とするデータ処理方法。
A data processing method by a data processing apparatus comprising a first virtual machine and a second virtual machine that operate with different operation systems,
A first storage step of storing virtual data associated with data stored in the second virtual machine, wherein the first storage means of the first virtual machine is specified in advance as processing contents allowed to be executed. When,
A receiving step for receiving a processing command using the virtual data, including information for specifying a processing content to be executed by the receiving unit of the first virtual machine using the data;
Whether the determination unit of the first virtual machine is allowed to execute processing on the virtual data based on information specifying the processing content included in the processing instruction received in the receiving step A determination step for determining whether or not;
When it is determined that the process requesting unit of the first virtual machine is allowed to execute the process based on the information specifying the process content in the determination step for the virtual data, the virtual data A process requesting step of requesting the second virtual machine to process the data associated with
A second storage step in which the second storage means of the second virtual machine stores the data;
An execution processing step of storing a program executed using the data, and executing the program using the data based on a request from the first virtual machine;
A data processing method comprising:
互いに異なるオペレーションシステムにより動作する第1仮想マシンと第2仮想マシンとを備えるデータ処理装置におけるデータ処理プログラムであって、
前記第1仮想マシンにおいて、実行することが許容される処理内容があらかじめ特定され、前記第2仮想マシンにおいて格納されるデータに対応付けられた仮想データを格納する第1記憶手段と、
前記第1仮想マシンにおいて、前記データを用いて実行する処理内容を特定する情報が含まれ、前記仮想データを用いた処理命令を受信する受信手段と、
前記第1仮想マシンにおいて、前記判定手段により前記処理内容を特定する情報に基づいた処理を前記仮想データに対して実行することが許容されると判定された場合に、前記仮想データに対応付けられた前記データの処理を前記第2仮想マシンへ要求する処理要求手段と、
前記第2仮想マシンにおいて、前記データを格納する第2記憶手段と、
前記第2仮想マシンにおいて、前記データを用いて実行されるプログラムを格納し、前記1仮想マシンからの要求に基づいて、前記データを用いて前記プログラムを実行する実行処理手段と、
をコンピュータに機能させることを特徴とするデータ処理プログラム。
A data processing program in a data processing apparatus comprising a first virtual machine and a second virtual machine that operate with different operation systems,
A first storage unit that stores in advance virtual data associated with data stored in the second virtual machine, in which processing content allowed to be executed in the first virtual machine is specified in advance;
In the first virtual machine, receiving means for receiving a processing command using the virtual data, including information specifying processing contents to be executed using the data;
In the first virtual machine, when it is determined that the process based on the information specifying the processing content is permitted to be performed on the virtual data by the determination unit, the first virtual machine is associated with the virtual data. Processing request means for requesting the second virtual machine to process the data;
A second storage means for storing the data in the second virtual machine;
Execution processing means for storing a program executed using the data in the second virtual machine and executing the program using the data based on a request from the one virtual machine;
A data processing program for causing a computer to function.
JP2009035326A 2009-02-18 2009-02-18 Data processing apparatus, data processing method, and data processing program Expired - Fee Related JP4787341B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009035326A JP4787341B2 (en) 2009-02-18 2009-02-18 Data processing apparatus, data processing method, and data processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009035326A JP4787341B2 (en) 2009-02-18 2009-02-18 Data processing apparatus, data processing method, and data processing program

Publications (2)

Publication Number Publication Date
JP2010191681A JP2010191681A (en) 2010-09-02
JP4787341B2 true JP4787341B2 (en) 2011-10-05

Family

ID=42817663

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009035326A Expired - Fee Related JP4787341B2 (en) 2009-02-18 2009-02-18 Data processing apparatus, data processing method, and data processing program

Country Status (1)

Country Link
JP (1) JP4787341B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5981845B2 (en) * 2011-03-02 2016-08-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America Virtual computer system, virtual computer control method, virtual computer control program, and semiconductor integrated circuit
JP5741136B2 (en) * 2011-03-30 2015-07-01 富士通株式会社 Control program, control program for portable terminal and virtual machine
US8973158B2 (en) 2011-07-20 2015-03-03 Microsoft Technology Licensing Llc Trust level activation
JP5981984B2 (en) * 2012-02-22 2016-08-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America Virtual computer system, confidential information protection method, and confidential information protection program
JP5524260B2 (en) * 2012-03-16 2014-06-18 三菱電機インフォメーションシステムズ株式会社 Communication terminal and communication system

Also Published As

Publication number Publication date
JP2010191681A (en) 2010-09-02

Similar Documents

Publication Publication Date Title
US9098368B1 (en) Loading branded media outside system partition
JP5749814B2 (en) Dynamic device configuration using predicates
EP2207333B1 (en) Method and system for modifying the execution of a native application running on a portable eletronic device
US7698223B2 (en) Pluggable file-based digital rights management API layer for applications and engines
US9098715B1 (en) Method and system for exchanging content between applications
JP4787341B2 (en) Data processing apparatus, data processing method, and data processing program
JP3822577B2 (en) Computer and program
WO2013182005A1 (en) Method and device for use in intercepting call for service by application
TW201227502A (en) Application execution in a restricted application execution environment
US8190636B2 (en) Method, apparatus and computer program product for providing object privilege modification
TW200409513A (en) Communication device, program and recording media
JP2003332978A (en) Communication device, program, and recording medium
WO2009059473A1 (en) Java-based terminal system
JP2017142792A (en) File protection method
JP2014525638A (en) Managing content for applications
KR101482149B1 (en) Apparatus for executing application, method thereof and computer recordable medium storing the method
WO2013001852A1 (en) Information processing device, control method therefor, program, and information storage medium
JP2010033385A (en) Network telephone directory system, network telephone directory management method and program
US9491231B1 (en) Mobile communication device stateful applications system
KR102124330B1 (en) Method for updating of application and apparatus for the same
US10891017B1 (en) Rotating icon selection and interaction software development kit (SDK)
JP4477035B2 (en) Mobile communication terminal
JP2009070373A (en) Communication device and program
US11445057B2 (en) Private contact sharing
JP4789246B2 (en) Content usage control method and apparatus

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110617

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: 20110628

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110714

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140722

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees