JP4755702B2 - Information processing apparatus and communication method - Google Patents
Information processing apparatus and communication method Download PDFInfo
- Publication number
- JP4755702B2 JP4755702B2 JP2009074810A JP2009074810A JP4755702B2 JP 4755702 B2 JP4755702 B2 JP 4755702B2 JP 2009074810 A JP2009074810 A JP 2009074810A JP 2009074810 A JP2009074810 A JP 2009074810A JP 4755702 B2 JP4755702 B2 JP 4755702B2
- Authority
- JP
- Japan
- Prior art keywords
- virtual machine
- data
- acquisition
- request
- acquired
- 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
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
Description
本発明は、複数の仮想マシンを実行する情報処理装置におけるデータ通信に関する。 The present invention relates to data communication in an information processing apparatus that executes a plurality of virtual machines.
物理的に単一の通信端末において、複数の仮想マシンを動作させる技術が知られている(特許文献1−7参照)。特許文献1は、端末に保存されたスケルトンファイルにアクセスすると、リモートサーバからデータファイルを取得する技術を開示している。特許文献2は、外部と通信するために、ホストOSのTCP/IPスタックを用いて通信を行う技術を開示している。特許文献3は、異なる仮想マシン上で動作するアプリケーション同士が通信により連携する技術を開示している。特許文献4は、仮想化ソフトウェアにおいて、外部と通信している仮想マシンを特定し、受信したパケットをどの仮想マシンに送信するか判定する技術を開示している。特許文献5は、サービスOSとゲストOSとを有する装置において、ゲストOS上のFTPクライアントからFTP接続要求を受け取ると、サービスOS側の仮想マシンが通信を確立することを開示している。特許文献6は、複数の仮想マシンを有する情報処理装置において、ある仮想マシンにおいてエラーが発生した場合に、他の仮想マシンの動作を継続させる技術を開示している。特許文献7は、複数のVMMを有する装置において、特権イベントが発生した場合に、特権イベントを処理すべきVMMを特定し、そのVMMに制御を移行させる技術を開示している。 A technique for operating a plurality of virtual machines in a physically single communication terminal is known (see Patent Documents 1-7). Patent Document 1 discloses a technique for acquiring a data file from a remote server when accessing a skeleton file stored in a terminal. Patent Document 2 discloses a technique for performing communication using a TCP / IP stack of a host OS in order to communicate with the outside. Patent Document 3 discloses a technology in which applications running on different virtual machines cooperate through communication. Japanese Patent Application Laid-Open No. 2004-133867 discloses a technique for identifying a virtual machine communicating with the outside and determining to which virtual machine a received packet is transmitted in virtualization software. Patent Document 5 discloses that in an apparatus having a service OS and a guest OS, a virtual machine on the service OS side establishes communication when an FTP connection request is received from an FTP client on the guest OS. Patent Document 6 discloses a technique for continuing the operation of another virtual machine when an error occurs in a certain virtual machine in an information processing apparatus having a plurality of virtual machines. Patent Document 7 discloses a technique for specifying a VMM that should process a privileged event and transferring control to that VMM when a privileged event occurs in an apparatus having a plurality of VMMs.
特許文献1−7は、特定の接続先を介してのみアクセス可能なように制限されたサーバに対して、ある仮想マシン上のアプリケーションがデータの取得を試みてそれが失敗した場合の処理について開示していない。
本発明は、ある仮想マシンからのデータの取得が失敗することが予測される場合、または、データの取得が失敗した場合に、自動的に別の仮想マシンからデータの取得を試みる技術を提供する。
Patent Documents 1 to 7 disclose processing when an application on a virtual machine attempts to acquire data and fails for a server that is restricted to be accessible only through a specific connection destination. Not done.
The present invention provides a technique for automatically trying to acquire data from another virtual machine when data acquisition from one virtual machine is predicted to fail or when data acquisition fails. .
本発明は、通信装置と、第1の仮想マシンおよび第2の仮想マシンを実現するためのプログラム、前記第2の仮想マシン上で動作し、前記通信装置および特定の接続先を介してデータを取得する第1のアプリケーションを実現するためのプログラム、ならびに前記第1の仮想マシン上で動作し、前記接続先以外の接続先および前記通信装置を介してデータを取得する第2のアプリケーションを実現するためのプログラムを記憶した記憶装置と、前記記憶装置に記憶されたプログラムに従った処理を行うプロセッサとを有し、前記第1の仮想マシンが、前記第2のアプリケーションから出された、前記通信装置を介してデータを取得することを要求する取得要求を検知する検知手段と、前記検知手段により検知された取得要求により要求されたデータを、前記第1の仮想マシンが取得できるか判定する第1の判定手段と、前記データを取得できないと前記第1の判定手段が判定した場合、前記第2の仮想マシンに対して、前記データを取得するように要求をする要求手段とを有し、前記第2の仮想マシンが、前記要求を受けると、前記通信装置を介して前記データを取得する第1の取得手段を有することを特徴とする情報処理装置を提供する。
この情報処理装置によれば、第1の仮想マシンがデータを取得できないと判定された場合においても、第2の仮想マシンによるデータの取得が試みられる。
The present invention relates to a communication device, a program for realizing the first virtual machine and the second virtual machine, and operates on the second virtual machine, and receives data via the communication device and a specific connection destination. A program for realizing a first application to be acquired and a second application that operates on the first virtual machine and acquires data via a connection destination other than the connection destination and the communication device And a communication device including a storage device storing a program for storing and a processor performing processing according to the program stored in the storage device, wherein the first virtual machine is issued from the second application. Detection means for detecting an acquisition request for requesting acquisition of data via the apparatus, and requested by the acquisition request detected by the detection means When the first determination unit determines whether the first virtual machine can acquire data, and the first determination unit determines that the data cannot be acquired, the second virtual machine Requesting means for making a request to obtain the data, and when the second virtual machine receives the request, the second virtual machine has first obtaining means for obtaining the data via the communication device. An information processing apparatus characterized by the above is provided.
According to this information processing apparatus, even when it is determined that the first virtual machine cannot acquire data, acquisition of data by the second virtual machine is attempted.
また、本発明は、通信装置と、第1の仮想マシンおよび第2の仮想マシンを実現するためのプログラム、前記第2の仮想マシン上で動作し、前記通信装置および特定の接続先を介してデータを取得する第1のアプリケーションを実現するためのプログラム、ならびに前記第1の仮想マシン上で動作し、前記特定の接続先以外の接続先および前記通信装置を介してデータを取得する第2のアプリケーションを実現するためのプログラムを記憶した記憶装置と、前記記憶装置に記憶されたプログラムに従った処理を行うプロセッサと、を有し、前記第1の仮想マシンが、前記第2のアプリケーションから出された、前記通信装置を介してデータを取得することを要求する取得要求を検知する検知手段と、前記取得要求により要求されるデータの取得を試みる第2の取得手段と、前記検知手段により検知された取得要求により要求されたデータを、前記第2の取得手段が取得できたか判定する第1の判定手段と、前記データを取得できなかったと前記第1の判定手段が判定した場合、前記第2の仮想マシンに対して、前記データを取得するように要求をする要求手段とを有し、前記第2の仮想マシンが、前記要求を受けると、前記通信装置を介して前記データを取得する第1の取得手段を有することを特徴とする情報処理装置を提供する。
この情報処理装置によれば、第1の仮想マシンがデータを取得できなかったと判定された場合においても、第2の仮想マシンによるデータの取得が試みられる。
The present invention also provides a communication device, a program for realizing the first virtual machine and the second virtual machine, and operates on the second virtual machine, via the communication device and a specific connection destination. A program for realizing a first application for acquiring data, and a second program that operates on the first virtual machine and acquires data via a connection destination other than the specific connection destination and the communication device A storage device that stores a program for realizing an application; and a processor that performs processing according to the program stored in the storage device, wherein the first virtual machine is output from the second application. Detection means for detecting an acquisition request for requesting acquisition of data via the communication device, and acquisition of data requested by the acquisition request. Second acquisition means for trying, first determination means for determining whether the second acquisition means has acquired the data requested by the acquisition request detected by the detection means, and the data cannot be acquired If the first determination means determines, the request requesting means requests the second virtual machine to acquire the data, and the second virtual machine issues the request. When received, the information processing apparatus includes a first acquisition unit that acquires the data via the communication apparatus.
According to this information processing apparatus, even when it is determined that the first virtual machine could not acquire data, acquisition of data by the second virtual machine is attempted.
好ましい態様において、前記取得要求が、前記データを特定するための文字列を含み、前記第1の仮想マシンは、文字列のパターンを示す情報を記憶する第1の記憶手段を有し、前記検知手段により検知された取得要求に含まれる文字列の所定の一部または全部が前記第1の記憶手段に記憶されている情報と一致した場合、前記第1の判定手段は、前記データを取得できないと判定してもよい。
この情報処理装置によれば、特定のパターンの文字列を含む取得要求に係るデータの取得が、第2の仮想マシンに自動的に要求される。
In a preferred aspect, the acquisition request includes a character string for specifying the data, and the first virtual machine includes first storage means for storing information indicating a pattern of the character string, and the detection When the predetermined part or all of the character string included in the acquisition request detected by the means matches the information stored in the first storage means, the first determination means cannot acquire the data May be determined.
According to this information processing apparatus, the second virtual machine is automatically requested to acquire data related to an acquisition request including a character string of a specific pattern.
別の好ましい態様において、前記取得要求が、前記データを特定するための文字列を含み、前記第1の仮想マシンは、前記第1の仮想マシンが取得できなかったデータの所在を示す所在情報の履歴、または、前記第2の仮想マシンが取得できたデータの所在を示す所在情報の履歴を示す情報を記憶する第1の記憶手段を有し、前記検知手段により検知された取得要求に含まれる文字列の所定の一部または全部が、前記第1の記憶手段に記憶されている情報と一致した場合、前記第1の判定手段は、前記データを取得できないと判定してもよい。
この情報処理装置によれば、第1の仮想マシンが取得できなかったデータの所在情報の履歴または第2の仮想マシンが取得できたデータの所在を示す所在情報の履歴と一致する文字列を含む取得要求に係るデータ取得が、第2の仮想マシンに自動的に要求される。
In another preferable aspect, the acquisition request includes a character string for specifying the data, and the first virtual machine is a location information indicating a location of data that the first virtual machine could not acquire. It has the 1st storage means which memorizes the history or the information which shows the history of the location information which shows the location of the data which the 2nd virtual machine has acquired, and is contained in the acquisition request detected by the detection means When a predetermined part or all of the character string matches information stored in the first storage unit, the first determination unit may determine that the data cannot be acquired.
According to this information processing apparatus, the first virtual machine includes a character string that matches the history of location information of data that could not be acquired or the location information history that indicates the location of data that could be acquired by the second virtual machine. Data acquisition related to the acquisition request is automatically requested to the second virtual machine.
さらに別の好ましい態様において、前記第2の仮想マシンは、前記第1の取得手段が前記データを取得した場合、前記データを取得できたことを示す結果を前記第1の仮想マシンに送信する送信手段を有し、前記第1の仮想マシンは、前記第2の仮想マシンから前記結果を受信した場合、前記結果に係るデータの所在を示す所在情報を用いて前記第1の記憶手段に記憶されている履歴を更新する更新手段を有してもよい。
この情報処理装置によれば、第2の仮想マシンにおけるデータの取得結果に応じて、第1の記憶手段に記憶されている履歴が書き替えられる。
In still another preferred aspect, when the first acquisition unit acquires the data, the second virtual machine transmits a result indicating that the data has been acquired to the first virtual machine. And when the first virtual machine receives the result from the second virtual machine, the first virtual machine is stored in the first storage unit using location information indicating a location of data related to the result. Update means for updating the existing history.
According to this information processing apparatus, the history stored in the first storage unit is rewritten according to the data acquisition result in the second virtual machine.
さらに別の好ましい態様において、前記第2の仮想マシンは、前記第1の取得手段が取得したデータの所在を示す所在情報の履歴を示す情報を記憶する第2の記憶手段を有し、前記第1の仮想マシンは、前記検知手段により検知された前記取得要求により要求される前記データの取得の可否の判定を前記第2の仮想マシンに依頼する依頼手段を有し、前記第2の仮想マシンは、前記依頼を受けると、前記データの所在情報の所定の一部または全部が、前記第2の記憶手段に記憶されている情報と一致するか判定する第2の判定手段を有し、前記データの所在情報の所定の一部または全部が前記第2の記憶手段に記憶されている情報と一致すると前記第2の判定手段により判定された場合、前記第1の取得手段が、前記データを取得してもよい。
この情報処理装置によれば、データの取得の可否の判定精度がより高められる。
In still another preferred aspect, the second virtual machine has second storage means for storing information indicating a history of location information indicating the location of data acquired by the first acquisition means, The first virtual machine has request means for requesting the second virtual machine to determine whether or not to acquire the data requested by the acquisition request detected by the detection means, and the second virtual machine Receives the request, and has second determination means for determining whether a predetermined part or all of the location information of the data matches information stored in the second storage means, When the second determination unit determines that a predetermined part or all of the data location information matches the information stored in the second storage unit, the first acquisition unit stores the data May get
According to this information processing apparatus, the accuracy of determining whether or not data can be acquired is further improved.
さらに別の好ましい態様において、前記第1の仮想マシンは、第1のデータを取得する第2の取得手段を有し、前記第2の取得手段により取得された前記第1のデータが、第2のデータの所在を示す所在情報を含み、前記第1の仮想マシンは、前記第1のデータから前記第2のデータの所在情報を抽出する抽出手段を有し、前記抽出手段により抽出された前記所在情報の所定の一部または全部が前記第1の記憶手段に記憶された情報に一致したとき、前記第1の判定手段は、前記第2のデータを取得できないと判定してもよい。
この情報処理装置によれば、第2のデータについて取得要求が出されなくても、第2のデータの取得の可否が判断される。
In still another preferred aspect, the first virtual machine has second acquisition means for acquiring first data, and the first data acquired by the second acquisition means is second The first virtual machine has extraction means for extracting the location information of the second data from the first data, and the extraction means extracts the location information of the second data. When the predetermined part or all of the location information matches the information stored in the first storage unit, the first determination unit may determine that the second data cannot be acquired.
According to this information processing apparatus, whether or not the second data can be acquired is determined even if an acquisition request is not issued for the second data.
さらに別の好ましい態様において、前記第2のデータを取得できないと前記第1の判定手段が判定しなかった場合、前記第2の取得手段は、前記第2のデータを取得してもよい。
この情報処理装置によれば、第1の仮想マシンで取得できるデータについては第1の仮想マシンで取得される。
In still another preferred aspect, when the first determination unit does not determine that the second data cannot be acquired, the second acquisition unit may acquire the second data.
According to this information processing apparatus, data that can be acquired by the first virtual machine is acquired by the first virtual machine.
さらに別の好ましい態様において、前記第1のデータが、データを構成するための制御情報を含み、前記制御情報が前記第1の仮想マシンに対応しないものであった場合、前記要求手段が、前記データを取得するように前記第2の仮想マシンに要求してもよい。
この情報処理装置によれば、第1の仮想マシンと対応しない制御情報に対応するデータは、第2の仮想マシンでの取得が試みられる。
In still another preferred aspect, when the first data includes control information for configuring data, and the control information does not correspond to the first virtual machine, the request unit includes You may request the second virtual machine to obtain data.
According to this information processing apparatus, data corresponding to control information that does not correspond to the first virtual machine is attempted to be acquired by the second virtual machine.
さらに別の好ましい態様において、この情報処理装置は、表示装置を有し、前記第2の仮想マシンが、前記第1の取得手段により取得されたデータに従った画像を前記表示装置に表示させる表示手段を有してもよい。
この情報処理装置によれば、第2の仮想マシンでデータを取得すると、取得したデータに従った画像が自動的に表示される。
In still another preferred aspect, the information processing apparatus includes a display device, and the second virtual machine displays the image according to the data acquired by the first acquisition unit on the display device. You may have a means.
According to this information processing apparatus, when data is acquired by the second virtual machine, an image according to the acquired data is automatically displayed.
さらに別の好ましい態様において、この情報処理装置は、前記通信装置を介した通信が許可される第1の動作モードと、前記通信装置を介した通信が許可されない第2の動作モードとを有し、前記要求手段は、前記動作モードが前記第1の動作モードである場合に、前記データを取得するように前記第2の仮想マシンに要求してもよい。
この情報処理装置によれば、第2の仮想マシンに対する無駄な要求が抑制される。
In yet another preferred aspect, the information processing apparatus has a first operation mode in which communication via the communication device is permitted and a second operation mode in which communication via the communication device is not permitted. The request unit may request the second virtual machine to acquire the data when the operation mode is the first operation mode.
According to this information processing apparatus, useless requests for the second virtual machine are suppressed.
さらに、本発明は、通信装置と、第1の仮想マシンおよび第2の仮想マシンを実現するためのプログラム、前記第2の仮想マシン上で動作し、前記通信装置および特定の接続先を介してデータを取得する第1のアプリケーションを実現するためのプログラム、ならびに前記第1の仮想マシン上で動作し、前記特定の接続先とは別の接続先および前記通信装置を介してデータを取得する第2のアプリケーションを実現するためのプログラムを記憶した記憶装置と、前記記憶装置に記憶されたプログラムに従った処理を行うプロセッサとを有する情報処理装置における通信方法であって、前記第1の仮想マシンが、前記第2のアプリケーションから出された、前記通信装置を介してデータを取得することを要求する取得要求を検知するステップと、前記第1の仮想マシンが、前記検知された取得要求により要求されたデータを、前記第1の仮想マシンが取得できるか判定するステップと、前記第1の仮想マシンが前記データを取得できないと判定された場合、前記第2の仮想マシンに対して、前記データを取得するように要求をするステップと、前記第2の仮想マシンが、前記要求を受けると、前記通信装置を介して前記データを取得するステップとを有することを特徴とする通信方法を提供する。
この通信方法によれば、第1の仮想マシンがデータを取得できないと判定された場合においても、第2の仮想マシンによるデータの取得が試みられる。
Furthermore, the present invention provides a communication device, a program for realizing the first virtual machine and the second virtual machine, and operates on the second virtual machine, via the communication device and a specific connection destination. A program for realizing a first application for acquiring data, and a program that operates on the first virtual machine and acquires data via a connection destination different from the specific connection destination and the communication device A communication method in an information processing apparatus, comprising: a storage device storing a program for realizing the application 2; and a processor that performs processing according to the program stored in the storage device, wherein the first virtual machine Detecting an acquisition request issued from the second application for requesting acquisition of data via the communication device; Determining whether the first virtual machine can acquire the data requested by the detected acquisition request, and determining that the first virtual machine cannot acquire the data; If the second virtual machine receives the request, the second virtual machine requests the second virtual machine to acquire the data, and receives the request via the communication device. And a step of obtaining.
According to this communication method, even when it is determined that the first virtual machine cannot acquire data, acquisition of data by the second virtual machine is attempted.
さらに、本発明は、通信装置と、第1の仮想マシンおよび第2の仮想マシンを実現するためのプログラム、前記第2の仮想マシン上で動作し、前記通信装置および特定の接続先を介してデータを取得する第1のアプリケーションを実現するためのプログラム、ならびに前記第1の仮想マシン上で動作し、前記特定の接続先とは別の接続先および前記通信装置を介してデータを取得する第2のアプリケーションを実現するためのプログラムを記憶した記憶装置と、前記記憶装置に記憶されたプログラムに従った処理を行うプロセッサとを有する情報処理装置における通信方法であって、前記第1の仮想マシンが、前記第2のアプリケーションから出された、前記通信装置を介してデータを取得することを要求する取得要求を検知するステップと、前記第1の仮想マシンが、前記取得要求により要求されるデータの取得を試みるステップと、前記第1の仮想マシンが、前記検知された取得要求により要求されたデータを取得できたか判定するステップと、前記第1の仮想マシンが、前記データを取得できなかったと判定した場合、前記第2の仮想マシンに対して、前記データを取得するように要求をするステップと、前記第2の仮想マシンが、前記要求を受けると、前記通信装置を介して前記データを取得するステップとを有することを特徴とする通信方法を提供する。
この通信方法によれば、第1の仮想マシンがデータを取得できなかったと判定された場合においても、第2の仮想マシンによるデータの取得が試みられる。
Furthermore, the present invention provides a communication device, a program for realizing the first virtual machine and the second virtual machine, and operates on the second virtual machine, via the communication device and a specific connection destination. A program for realizing a first application for acquiring data, and a program that operates on the first virtual machine and acquires data via a connection destination different from the specific connection destination and the communication device A communication method in an information processing apparatus, comprising: a storage device storing a program for realizing the application 2; and a processor that performs processing according to the program stored in the storage device, wherein the first virtual machine Detecting an acquisition request issued from the second application for requesting acquisition of data via the communication device; The first virtual machine attempting to acquire data requested by the acquisition request; and determining whether the first virtual machine has acquired the data requested by the detected acquisition request; If the first virtual machine determines that the data could not be acquired, the step of requesting the second virtual machine to acquire the data; and And receiving the request, obtaining the data via the communication device.
According to this communication method, even when it is determined that the first virtual machine could not acquire data, acquisition of data by the second virtual machine is attempted.
1.ハードウェア構成およびソフトウェア構成の概要
図1は、一実施形態に係る携帯電話機10のハードウェア構成を示す図である。携帯電話機10は、本発明に係る情報処理装置の一例である。携帯電話機10は、CPU(Central Processing Unit)20と、メモリ21と、記憶装置30と、キーパッド31と、ディスプレイ32と、スピーカ33と、通信装置34とを有する。
1. Overview of Hardware Configuration and Software Configuration FIG. 1 is a diagram illustrating a hardware configuration of a
図2は、携帯電話機10のソフトウェア構成を示す図である。携帯電話機10のソフトウェアは、仮想化ソフトウェア(Virtual Machine Manager、以下「VMM」という)40と、仮想マシン41(第1の仮想マシンの一例)と、仮想マシン42(第2の仮想マシンの一例)とを有する。以下、図1および図2を参照して携帯電話機10の構成を説明する。
FIG. 2 is a diagram illustrating a software configuration of the
CPU20(プロセッサの一例)は、メモリ21上に展開されたソフトウェアを実行する処理装置である。メモリ21は、CPU20がプログラムを実行する際のワークエリアとして機能する記憶装置である。記憶装置30は、VMM40、OS(Operating System)、アプリケーション等のプログラムや、設定情報、コンテンツ等のデータを記憶する記憶装置、例えばフラッシュメモリである。この例では、記憶装置30からロードされたプログラムやデータがメモリ21上に展開され、CPU20により実行される。また、CPU20がVMM40を実行することにより、携帯電話機10の内部に仮想マシン41および仮想マシン42が形成される。
The CPU 20 (an example of a processor) is a processing device that executes software expanded on the
キーパッド31は、ユーザの操作に応じた信号をCPU20に供給する入力装置である。ユーザによる操作は、単一のキーの押し下げ、複数のキーの同時押しなどがある。キーパッド31が操作されると、操作を示す情報がVMM40を介して仮想マシン41または仮想マシン42に伝達される。仮想マシン41または仮想マシン42の内部では、OSがアプリケーションに操作を示す情報を伝達する。これにより、ユーザによるキーパッド31の操作に応じて、メニュー選択や文字入力等の処理が行われる。
The
ディスプレイ32は、仮想マシン41または仮想マシン42において実行されているアプリケーションプログラムの処理結果を画像として出力する出力装置である。ユーザがアプリケーションでコンテンツ(データ)を利用すると、そのコンテンツに応じた画面がディスプレイ32に表示される。ユーザは、ディスプレイ32に表示された画面を見ながらキーパッド31を操作し、携帯電話機10に情報を入力する。スピーカ33は、仮想マシン41または仮想マシン42において実行されているアプリケーションプログラムの処理結果を音(音声、音楽等)として出力する出力装置である。
The
通信装置34は、外部の端末装置と通信するための装置である。この例で、通信装置34は、移動通信網用のアンテナ、通信プロセッサ、無線LAN(Local Area Network)アダプタ等を含む。
The
VMM40は、物理的に単一の装置(携帯電話機10)上に、複数の仮想的な装置(仮想マシン)を形成し、平行動作させるためのプログラムである。この例では、仮想マシン41および仮想マシン42が動作する。仮想マシン41および仮想マシン42は、それぞれ、VMM40により仮想化されたCPU、メモリ、周辺機器を有している。仮想マシン41および仮想マシン42は、それぞれがOSを有し、このOS上でAPI(Application Programming Interface)群、TCP/IP(Transmission Control Protocol/Internet Protocol)スタック等のミドルウェア(ソフトウェアモジュール)やブラウザ等のアプリケーションプログラムが動作する。VMM40としては、例えば、VMware、Xen(登録商標)、Virtualbox等が用いられる。
The
仮想マシン41は、いわゆるスマートフォンに相当する仮想マシンである。スマートフォンとは、PCと同様にカスタマイズ性に優れている携帯電話機、具体的には、CPU20が直接実行可能なネイティブコードのアプリケーションプログラム(以下「ネイティブコードアプリ」という)を追加することができる携帯電話機をいう。ネイティブコードアプリの一例として、ブラウザがある。このブラウザは、携帯電話機に特化していない、一般PC(Personal Computer)向けのサイト(以下「PCサイトという」)を閲覧することができる。
The
一般に、携帯電話機のセキュリティはPCのセキュリティよりも高い。近年、ブラウザを介して画像、着信音、楽曲などをダウンロードするサービスが知られているが、これらダウンロードされたデータは、携帯電話機10の外へ持ち出したり、改ざんしたりすることができないように制限されていることが多い。このような制限を行うために、ある種のウェブサーバにおいては、携帯電話機からのアクセスのみを許可し、PC等の携帯電話機以外の端末からのアクセスは許可しないように、端末の識別が行われている。この識別をするための技術としては、携帯電話事業者が運用するゲートウェイ(特定の接続先の一例)のIP(Internet Protocol)アドレスを用いて端末を識別する技術がある。このような技術により、携帯電話機からのみアクセスが可能なウェブサイト(以下「携帯サイト」という)が存在する。
In general, the security of a mobile phone is higher than the security of a PC. In recent years, services for downloading images, ringtones, music, etc. via a browser are known, but these downloaded data are restricted so that they cannot be taken out of the
スマートフォンにおいては、非ネイティブコードアプリよりも実行速度が速いネイティブコードアプリを用いて機能を拡張することが可能である。しかし、例えばコンピュータウイルスのような悪意あるアプリケーションプログラムが実行されると、ユーザの意図に反して、アドレス帳等の個人情報やコンテンツの消去、改ざん、漏洩が起こる危険性がある。この危険性により、スマートフォンにおいては、非スマートフォンの携帯電話機と異なり、コンテンツのダウンロードを許可したくないという事業者およびユーザの事情がある。このため、スマートフォンのブラウザは、携帯サイトにアクセスするためのゲートウェイを経由せずに、特定の接続先とは異なる別の接続先(またはアクセスポイント)を介してインターネットに接続される。すなわち、仮想マシン41は、このゲートウェイを経由せずにインターネットに接続される。この構成では、スマートフォンからは携帯サイトにアクセスできない。
In a smartphone, it is possible to expand functions using a native code application that has a higher execution speed than a non-native code application. However, when a malicious application program such as a computer virus is executed, there is a risk that personal information such as an address book or contents will be erased, altered or leaked against the user's intention. Due to this danger, there is a situation of business operators and users who do not want to allow content download in smartphones, unlike non-smartphone mobile phones. For this reason, the browser of the smartphone is connected to the Internet via a different connection destination (or access point) different from the specific connection destination without going through the gateway for accessing the mobile site. That is, the
仮想マシン42は、標準機(非スマートフォン)に相当する仮想マシンである。前述のように仮想マシン42は、携帯サイトにアクセスするためのゲートウェイを経由して、外部のネットワークにアクセスする。仮想マシン42は、記憶装置30上に、仮想マシン41からはアクセスできない、仮想マシン42専用の記憶領域を有する。携帯サイトからダウンロードされたコンテンツは、この記憶領域に記憶される。同様に、仮想マシン41は、記憶装置30上に、仮想マシン42からはアクセスできない、仮想マシン41専用の記憶領域を有する。
The
2.第1実施形態
2−1.構成
図3は、第1実施形態に係る携帯電話機10の機能構成を示す図である。仮想マシン41は、ブラウザ50、検知部201、判定部202、要求部203、判定部205および更新部207を有する。仮想マシン42は、ブラウザ60を有する。ブラウザ50は、インターネットに接続されたウェブサーバ(外部装置)からウェブコンテンツ(HTML(HyperText Markup Language)データおよび関連する画像ファイル、音声ファイル等)を取得し、取得したウェブコンテンツに従った画面をディスプレイ32に表示させるためのアプリケーションプログラムであり、仮想マシン41のOS上で動作する。記憶部100は、仮想マシン41専用の記憶領域である。ブラウザ60は、インターネットからHTMLデータを取得し、取得したHTMLデータに従った画面をディスプレイ32に表示させるためのアプリケーションプログラムであり、仮想マシン42のOS上で動作する。ブラウザ60は、取得部204および送信部206を有する。以下、ここで、「アプリケーション」とは、CPU20がアプリケーションプログラムを実行し、メモリやディスプレイを制御することにより、携帯電話機10上に実現(実装)される機能をいう。検知部201、判定部202、要求部203、判定部205および更新部207等の機能構成要素はソフトウェアモジュールである。以下、「検知部201が、・・・する」というように機能構成要素を主体として動作を記述することがあるが、これは、CPU20が検知部201に係るソフトウェアモジュールに含まれる命令群を実行することにより、その処理が行われることを意味する。
2. First embodiment 2-1. Configuration FIG. 3 is a diagram illustrating a functional configuration of the
検知部201は、通信装置34およびインターネットを介してウェブコンテンツを取得するための要求(以下「取得要求」という)を検知する。取得要求は、ブラウザ50から出される。この例で、取得要求は、そのコンテンツの所在を示す情報(以下「所在情報」という)としてURL(Uniform Resource Locator)を含む。URLは、例えば、「http://www.aaaaaa.co.jp/product/index.html」という文字列である。この例のURLは、「http」というスキームで、「www.xxxx.co.jp」という名前(ホスト名)のウェブサーバに接続して、「/product/index.html」というパス名で特定されるコンテンツ(HTMLファイル)を取得することを示す。検知部201は、URLで指定されるウェブサーバに接続するために、ブラウザ50が外部通信APIを呼び出したことを検知する。外部通信APIは、携帯電話機10の外部の装置との通信をするためのAPIである。あるいは、検知部201は、コンテンツへのリンクがクリックされたことを、取得要求として検知してもよい。
The
判定部202は、検知部201が検知した取得要求に対するコンテンツを取得できたかどうかの判定をする。判定部202は、取得要求に対する、ウェブサーバからの回答を用いてこの判定をする。コンテンツを取得できた場合、ウェブサーバからの回答はそのコンテンツを含んでいる。したがって、コンテンツを取得できない場合とは、ウェブサーバからの回答に正しいコンテンツが含まれない場合をいう。ウェブサーバからコンテンツを取得する処理には、(1)ホスト名からIPアドレスを特定する(DNS(Domain Name Server)による名前解決)、(2)IPアドレスを用いてウェブサーバに接続する、(3)パス名を用いてコンテンツを要求する、(4)ウェブサーバがコンテンツを送信する、という4つの段階がある。「コンテンツを取得できない場合」には、具体的には、上記4つの段階に対応した、(1)ホスト名からIPアドレスの変換に失敗、(2)接続失敗、(3)コンテンツを取得できない、(4)標準機からのアクセスのみ許容される旨がコンテンツに記載されている、の4つの例がある。例(1)〜(3)では、仮想マシン41はエラーメッセージを取得する。この場合、判定部202は、取得したエラーメッセージから、コンテンツを取得できなかったと判定する。また、例(4)では、見かけ上コンテンツを取得できているが、コンテンツの内容としてエラーを含んでいる。判定部202は、取得したコンテンツの内容を検査し、エラーが含まれていた場合には、コンテンツを取得できなかったと判定する。
The
判定部205は、検知部201が検知した取得要求で要求されているコンテンツを、仮想マシン41が取得できるかどうか(コンテンツ取得の可否)の判定をする。換言すると、判定部205は、要求されているコンテンツが仮想マシン42で取得すべきものであるかを判定する。判定部205は、ウェブサーバからの回答ではなく、検知部201が検知した取得要求を用いてこの判定をする。すなわち、判定部202は、仮想マシン41がコンテンツを実際に取得できたかを判定し、判定部205は、仮想マシン41がコンテンツを取得できるか予測する。この例で、判定部205は、取得要求に含まれるURLが所定のパターンの文字列を含むか、または、過去にコンテンツの取得に失敗したURLの履歴に一致する、という2つの基準を用いてコンテンツ取得の可否を判定する。
The
図4は、判定部205で用いられるパターン情報を例示する図である。パターン情報とは、文字列のパターンを示す情報をいう。パターン情報は、記憶部100に記憶されている。パターン情報は、携帯サイトのURLに含まれることが多いことが知られている文字列、例えば、「imode」、「.mobi」、「mobile.」、「/i/」、「/m/」および「/mobile/」を含むリストである。判定部205は、取得要求に含まれるURLの全部または所定の一部がパターン情報に含まれる文字列と一致するか、すなわち、取得要求に含まれるURLが、パターン情報に含まれる文字列のいずれかを含むか検査する。取得要求に含まれるURLがこれらの文字列のいずれかを含むことが検知された場合、判定部205は、検知部201が検知した取得要求に対するコンテンツを取得できないと判定する。
FIG. 4 is a diagram illustrating pattern information used in the
図5は、判定部205で用いられる履歴情報を例示する図である。履歴情報とは、過去の所定期間、所定回数または過去すべてのアクセスにおいて、仮想マシン41においてコンテンツを取得できなかったURL、または仮想マシン42においてコンテンツを取得できたURLの一部または全部を示す情報をいう。図5の例では、スキームおよびホスト名が履歴として用いられる。履歴情報は、記憶部100に記憶されている。判定部205は、取得要求に含まれるURLが、履歴情報に含まれる履歴(文字列)のいずれかを含むか検査する。取得要求に含まれるURLがこれらの履歴のいずれかを含むことが検知された場合、判定部205は、検知部201が検知した取得要求に対するコンテンツを取得できないと判定する。
FIG. 5 is a diagram illustrating history information used in the
再び図3を参照する。要求部203は、コンテンツを取得できなかったと判定部202が判定した場合、または、コンテンツを取得できないと判定部205が判定した場合に、仮想マシン42に対してコンテンツを取得するよう要求をする。VMM40は、仮想マシン41と仮想マシン42との間での通信を行うためのソフトウェアモジュール(以下「VM(Virtual Machine)間通信機構」という)を有しており、これを用いて仮想マシン41から仮想マシン42に要求が送られる。この要求は、コンテンツの取得に用いられる情報、例えばコンテンツのURLを含む。なお、VM間通信機構は、VMM40とは別のソフトウェアモジュールであってもよい。
Refer to FIG. 3 again. The
仮想マシン41からの要求を受けると、仮想マシン42の取得部204は、通信装置34およびインターネットを介して、コンテンツを送信するようウェブサーバに対に要求する。取得部204は、コンテンツの要求に対する応答をウェブサーバから取得する。
Upon receiving a request from the
送信部206は、取得部204におけるコンテンツの取得の結果を、仮想マシン41に送信する。結果は、VM間通信機構を用いて仮想マシン42から仮想マシン41に送信される。ここでいう「結果」は、少なくとも、要求が成功した(すなわちコンテンツを取得できた)かあるいは失敗したかを示す情報を含む。また、この結果は、仮想マシン41におけるコンテンツの取得要求を特定する情報を含む。さらに、この結果は、判定部202で説明した4つのエラーのうちいずれに該当するかという情報を含んでもよい。
The
受信部212は、仮想マシン42から送信される情報を受信する。更新部207は、受信部212が仮想マシン42からコンテンツ取得の結果を受信すると、受信した結果に応じて、記憶部100に記憶されている履歴情報を更新する。仮想マシン42から受信した結果が、コンテンツを取得できたことを示すものであった場合、更新部207は、受信した結果に係る取得要求から履歴として保存する情報(この例ではスキームおよびホスト名)を履歴情報に追加する。
The receiving
2−2.動作
図6は、仮想マシン41におけるコンテンツの取得可否の判定処理を示すフローチャートである。検知部201が取得要求を検知すると、図6のフローが実行される。ステップS101において、判定部205は、記憶部100からパターン情報を読み出す。ステップS102において、判定部205は、取得要求に含まれるURLが、パターン情報に含まれる文字列を含むか判定する。URLの所定の一部または全部が、パターン情報の文字列と一致したと判定された場合(S102:YES)、判定部205は、処理をステップS107に移行する。URLがパターン情報の文字列を含まないと判定された場合(S102:NO)、判定部205は、処理をステップS103に移行する。
2-2. Operation FIG. 6 is a flowchart showing processing for determining whether or not content can be acquired in the
ステップS103において、判定部205は、記憶部100から履歴情報を読み出す。ステップS104において、判定部205は、取得要求に含まれるURLが、履歴情報に含まれる文字列を含むか判定する。URLの所定の一部または全部が、履歴情報の文字列と一致したと判定された場合(S104:YES)、判定部205は、処理をステップS107に移行する。URLが履歴情報の文字列を含まないと判定された場合(S104:NO)、判定部205は、処理をステップS105に移行する。ステップS101−S104の処理は、ウェブサーバに対してコンテンツの送信の要求が、携帯電話機10から外部の装置に送信される前に実行される。
In step S <b> 103, the
ステップS105において、外部通信APIは、コンテンツの取得を試みる。すなわち、通信装置34およびインターネットを介して、コンテンツを送信するようウェブサーバに要求する。外部通信APIは、この要求に対する応答を受信する。
In step S105, the external communication API attempts to acquire content. That is, the web server is requested to transmit the content via the
ステップS106において、判定部202は、コンテンツが取得できたか判定する。コンテンツが取得できなかったと判定された場合(S106:NO)、判定部202は、処理をステップS107に移行する。コンテンツが取得できたと判定された場合(S106:YES)、判定部202は、取得要求の判定処理を終了する。
In step S106, the
ステップS107において、要求部203は、仮想マシン42に対し、コンテンツの取得の要求をする。この要求は、コンテンツのURLを含んでいる。この要求をすると、要求部203は、コンテンツの取得可否の判定処理を終了する。
In step S <b> 107, the
要求部203において、コンテンツの取得の要求を送信する装置は以下のように特定される。要求部203は、送信先の装置の識別子をあらかじめ記憶している。要求部203は、記憶している識別子により特定される装置に、コンテンツの取得の要求を送信する。この識別子としては、例えば、VMM40により付与されるIDが用いられる。この場合、VMM40は、各仮想マシンにIDを与え、そのIDのリストを記憶している。あるいは、送信先の装置の識別子としてIPアドレスが用いられてもよい。仮想マシン41および仮想マシン42がTCP/IPに従った通信インターフェースを有していれば、仮想マシン41および仮想マシン42にはIPアドレスが付与されるので、これを識別子として用いることができる。
In the
図7は、仮想マシン42におけるコンテンツの取得処理を示すフローチャートである。仮想マシン41からコンテンツの取得の要求を受信すると、取得部204は、通信装置34およびインターネットを介して、コンテンツを送信するようウェブサーバに要求する(ステップS201)。取得部204は、この要求に対する応答を受信する。この応答は、コンテンツの取得が許可された場合はコンテンツを含み、それ以外の場合は判定部202において説明した4つのエラーのいずれかを示すエラーメッセージや、接続タイムアウトなどのエラーメッセージを含んでいる。
FIG. 7 is a flowchart showing content acquisition processing in the
ステップS202において、取得部204は、コンテンツの取得要求の結果を特定する。取得部204は、コンテンツを取得できた場合は結果が成功だったと特定し、コンテンツを取得できなかった場合は結果が失敗だったと特定する。ステップS203において、送信部206は、特定した結果を、コンテンツ取得の要求元である仮想マシン41に送信する。結果の送信には、VM間通信が用いられる。結果を送信すると、送信部206は、コンテンツの取得処理を終了する。
In step S202, the
図8は、仮想マシン41における履歴情報の更新処理を示すフローチャートである。仮想マシン42からコンテンツの取得の結果を受信すると、更新部207は、コンテンツを取得できたか判定する(ステップS301)。コンテンツを取得できたと判定された場合(S301:YES)、更新部207は、処理をステップS302に移行する。コンテンツを取得できなかったと判定された場合(S301:NO)、更新部207は、処理をステップS303に移行する。
FIG. 8 is a flowchart showing history information update processing in the
ステップS302において、更新部207は、記憶部100に記憶されている履歴情報を更新する。具体的には、更新部207は、取得できたコンテンツのURLから履歴として記憶する情報(この例ではスキームおよびホスト名)を抽出し、抽出した情報を履歴情報に追加する。履歴情報を更新すると、更新部207は、履歴情報の更新処理を終了する。
In step S <b> 302, the
ステップS303において、更新部207は、仮想マシン41においてコンテンツの取得を実行する前であるか判定する。仮想マシン41は、処理対象となっている取得要求について、その取得要求が外部装置に送信済みであるか送信前であるかを示すフラグを記憶している。更新部207は、このフラグを参照してコンテンツの取得を実行する前であるか判定する。コンテンツの取得を実行する前であると判定された場合(S303:YES)、更新部207は、処理をステップS304に移行する。コンテンツの取得を実行した後であると判定された場合(S303:NO)、更新部207は、図8のフローを終了する。
In step S <b> 303, the
ステップS304において、取得部204は、通信装置34およびインターネットを介して、コンテンツを送信するようウェブサーバに要求する。取得部204は、この要求に対する応答を受信する。この応答により、要求されたコンテンツを取得できた場合、そのコンテンツをブラウザ50に渡す。コンテンツを取得できなかった場合、取得部204は、コンテンツを取得できなかった旨をブラウザ50に通知する。
In step S304, the
以上で説明したように、本実施形態によれば、仮想マシン41でコンテンツを取得できなかった場合または、仮想マシン41でコンテンツを取得できないと予想される場合、仮想マシン41は、仮想マシン42にコンテンツの取得を要求する(すなわち、コンテンツの取得を依頼する)。仮想マシン42は、仮想マシン41からの要求に応じてコンテンツを取得する。これにより、携帯電話機10のユーザはサイトのアクセス制限によらず、仮想マシン41に対して操作入力を行うことによりコンテンツを取得できる。本実施形態の構成を有しない場合と比較して、操作性が向上する。また、コンテンツを取得できなかったと判定部202が判定した場合にのみ、要求部203がコンテンツの取得を仮想マシン42に要求する構成であると、コンテンツの取得の要求がタイムアウトするまで次の処理が行えない場合がある。しかし、この場合でも、コンテンツの取得要求を実施する前に、判定部205により、取得要求に基づいてコンテンツの取得の可否が判断される。これにより、タイムアウトを待たなくても次の処理が実行できる。また、コンテンツの要求が携帯電話機10の外部に送信される前にコンテンツの取得の可否が判定され、仮想マシン41からコンテンツの取得の要求が行われず、仮想マシン42からコンテンツの取得の要求が行われる場合には、本実施形態の構成を有しない場合と比較してネットワーク上を流れるパケットの数(通信量)が抑制される。
As described above, according to the present embodiment, when content cannot be acquired by the
本実施形態で説明した機能の実装は、例えば以下のように行われる。仮想マシン41において、外部通信APIを提供するミドルウェアが従来のものから改変されている。このミドルウェアは、外部通信APIと、新たに導入された、仮想的な外部通信API、第1判定API、第2判定API、要求APIとを有している。以下この仮想的な外部通信APIを、「仮想API」という。外部通信APIは従来からある外部通信APIである。仮想APIは、ブラウザ50が外部通信APIを呼び出したときに、外部通信APIよりも先に仮想APIが呼び出されるように構成されている。仮想APIは、本実施形態に係る機能を実現または呼び出すためのAPIである。第1判定APIは、判定部202に相当する機能を提供するAPIである。第2判定APIは、判定部205に相当する機能を提供するAPIである。要求APIは、要求部203に相当する機能を提供するAPIである。以下、図6のフローを例に、動作の詳細を説明する。
The implementation of the functions described in the present embodiment is performed as follows, for example. In the
まず、コンテンツの取得をするために、ブラウザ50が外部通信APIを呼び出す。ブラウザ50が外部通信APIを呼び出すと、外部通信APIではなく、仮想APIが呼び出される。ブラウザ50から呼び出されると、仮想APIは、第2判定APIを呼び出す。すなわち、この例では仮想APIが検知部201として機能している。第2判定APIは、図6のステップS101−S104の処理を行う。第2判定APIは、取得要求がパターン情報または履歴情報に一致した場合、要求APIを呼び出す。どちらにも一致しなかった場合、第2判定APIは、処理を仮想APIに戻す。仮想APIは、外部通信APIを呼び出す。
First, the
外部通信APIは、DNSによる名前解決、サーバへの接続、コンテンツの取得等の処理を行う(ステップS105)。外部通信APIは、コンテンツを取得できた場合はそのコンテンツを、コンテンツを取得できなかった場合はエラーメッセージを、結果として仮想APIに渡す。仮想APIは、外部通信APIから受け取った結果を判定するために第1判定APIを呼び出す。第1判定APIは、結果がコンテンツを含む場合には、標準機からのアクセスのみ許容される旨がコンテンツに記載されているか、コンテンツを検査する。標準機からのアクセスのみ許容される旨がコンテンツに記載されていた場合、または、外部通信APIからエラーメッセージを含む結果を受け取った場合、第1判定APIは、要求APIを呼び出す。結果がコンテンツを含み、かつ、標準機からのアクセスのみ許容される旨がコンテンツに記載されていなかった場合、第1判定APIは、エラーが無い旨を仮想APIに回答する。エラーが無い旨の回答を受けると、仮想APIは、外部通信APIを呼び出した結果として、取得したコンテンツを設定する。 The external communication API performs processing such as name resolution by DNS, connection to a server, and content acquisition (step S105). The external communication API passes the content to the virtual API as a result if the content can be acquired, or the error message if the content cannot be acquired. The virtual API calls the first determination API to determine the result received from the external communication API. When the result includes the content, the first determination API checks the content to determine that only access from the standard machine is permitted. When it is described in the content that only access from the standard machine is permitted, or when a result including an error message is received from the external communication API, the first determination API calls the request API. When the result includes the content and the content that only the access from the standard machine is allowed is not described in the content, the first determination API answers the virtual API that there is no error. When receiving an answer indicating that there is no error, the virtual API sets the acquired content as a result of calling the external communication API.
要求APIは、コンテンツの取得を仮想マシン42に要求する(ステップS107)。要求APIは、仮想マシン42に要求をした旨を仮想APIに回答する。要求APIからの回答を受けると、仮想APIは、結果をエラーに設定する。
The request API requests the
仮想APIは、設定された結果をブラウザ50に渡す。ブラウザ50は、取得した結果(コンテンツまたはエラー)に応じた画面を表示する。
The virtual API passes the set result to the
3.第2実施形態
3−1.構成
図9は、第2実施形態に係る携帯電話機10の機能構成を示す図である。以下、第1実施形態と共通する要素については共通の参照符号を用い、その説明を省略する。第2実施形態において、携帯電話機10は、記憶部101を有する。記憶部101は、仮想マシン42専用の記憶領域である。記憶部101は、仮想マシン42における履歴情報を記憶する。仮想マシン42における履歴情報とは、仮想マシン42が取得することができたコンテンツのURLの履歴(成功した取得要求の履歴)を示す情報である。仮想マシン42のブラウザ60は、仮想マシン41から要求を受けた場合に加え、ユーザが仮想マシン42のブラウザ60を操作している場合に、ウェブサーバからコンテンツの取得を試みる。仮想マシン42における履歴情報は、これら2つの場合による履歴を含む。本実施形態において、コンテンツを取得できるか否かは、仮想マシン41における履歴情報に加え、仮想マシン42における履歴情報を用いて判定される。
3. Second embodiment 3-1. Configuration FIG. 9 is a diagram illustrating a functional configuration of the
仮想マシン41の判定部205は、検知部201によって検知された取得要求について、コンテンツ取得の可否を判定するように仮想マシン42に依頼する。
The
仮想マシン42の判定部208は、仮想マシン41からの依頼を受けて、仮想マシン42においてコンテンツを取得すべきであるか、すなわち、仮想マシン42におけるコンテンツ取得の可否を判定する。この判定には、記憶部101に記憶されている履歴情報が用いられる。取得部204は、仮想マシン41からコンテンツの取得要求を受けた場合に加え、判定部208の判定結果に応じて、コンテンツを送信するようウェブサーバに要求する。
Upon receiving a request from the
3−2.動作
図10は、第2実施形態に係る取得要求の判定処理を示すフローチャートである。ステップS101−S103の処理は、第1実施形態で説明したとおりである。ステップS104において、判定部205は、取得要求に含まれるURLが履歴情報に一致するか判定する。URLが、履歴情報に一致すると判定された場合(S104:YES)、判定部205は、処理をステップS107に移行する。URLが履歴情報に一致しないと判定された場合(S104:NO)、判定部205は、処理をステップS108に移行する。
3-2. Operation FIG. 10 is a flowchart showing acquisition request determination processing according to the second embodiment. The processing in steps S101 to S103 is as described in the first embodiment. In step S104, the
ステップS108において、判定部205は、仮想マシン42に対してコンテンツの取得の可否を判定するように依頼(要求)をする。この依頼は、取得しようとするコンテンツのURLを含む。この依頼をすると、判定部205は図10のフローを終了する。
In step S <b> 108, the
図11は、仮想マシン42が判定の依頼を受信したときの処理を示すフローチャートである。仮想マシン41からコンテンツの取得の可否の判定を依頼されると、図11のフローが実行される。ステップS401において、判定部208は、記憶部101から履歴情報を読み出す。ステップS402において、判定部208は、仮想マシン41においてコンテンツを取得可能であるか、具体的には、仮想マシン41からの要求に含まれるURLが、記憶部101から読み出した履歴情報に含まれる履歴を含むか判定する(ステップS402)。仮想マシン41においてコンテンツを取得可能であると判定された場合(S402:YES)、判定部208は、処理をステップS403に移行する。仮想マシン41においてコンテンツを取得可能でないと判定された場合(S402:NO)、判定部208は、送信部206を介してその旨を仮想マシン41に回答する。
FIG. 11 is a flowchart illustrating processing when the
ステップS403において、判定部208は、取得部204にコンテンツの取得を要求する。コンテンツの取得を要求すると、判定部208は、図11のフローを終了する。
In step S403, the
図12は、仮想マシン41におけるコンテンツ取得処理を示す図である。からコンテンツを取得可能でない旨の回答を仮想マシン42から受けると、外部通信APIは、コンテンツの取得を試みる(ステップS501)。すなわち、外部通信APIは、通信装置34を介して、コンテンツを送信するようウェブサーバに要求する。外部通信APIは、この要求に対する応答を受信する。ステップS502において、判定部202は、コンテンツが取得できたか判定する。コンテンツが取得できなかったと判定された場合(S502:NO)、判定部202は、処理をステップS503に移行する。コンテンツが取得できたと判定された場合(S502:YES)、判定部202は、取得要求の判定処理を終了する。
FIG. 12 is a diagram illustrating content acquisition processing in the
ステップS503において、要求部203は、仮想マシン42に対し、コンテンツの取得の要求をする。この要求をすると、要求部203は、コンテンツの取得処理を終了する。ステップS501−S503の処理は、第1実施形態のステップS105−S107の処理に相当する。ステップS107、S403またはS503においてコンテンツの取得を要求されると、取得部204は、図7のフローに従ってコンテンツの取得を試みる。
In step S <b> 503, the
仮想マシン41においては仮想マシン42でコンテンツを取得すべきであると判定できなくても、仮想マシン42において、仮想マシン42でコンテンツを取得できると判定できる場合がある。本実施形態によれば、本実施形態の構成を有しない場合と比較して、仮想マシン42におけるコンテンツ取得の可否をより確実に判定することができる。
Even if the
4.第3実施形態
4−1.構成
図13は、第3実施形態に係る携帯電話機10の機能構成を示す図である。第3実施形態において、携帯電話機10は、第1のコンテンツを取得したときに、第1のコンテンツに含まれる所在情報(第2のコンテンツのURL)を含む文字列(HTMLタグ)を抽出する。携帯電話機10は、抽出した文字列を用いて、第2のコンテンツの取得可否を判定する。この処理は、第1のコンテンツを取得したときに行われ、第2のコンテンツの取得要求があったか否かにかかわらず行われる。以下、第1実施形態と共通する要素については共通の参照符号を用い、その説明を省略する。
4). Third embodiment 4-1. Configuration FIG. 13 is a diagram illustrating a functional configuration of the
仮想マシン41の抽出部209は、ブラウザ50が取得したコンテンツ(第1のコンテンツ)から、第2のコンテンツのURLを含む文字列を抽出する。いま、コンテンツがHTMLファイルを含むウェブコンテンツである場合を例に説明する。HTMLファイルは、多くの場合、別のウェブコンテンツへのリンクを示すHTMLタグを含む。このリンクは、別のウェブコンテンツのURLを含む。ユーザがブラウザ50上で別のウェブコンテンツのリンクを選択すると、ブラウザ50は、選択されたリンクに含まれるURLを用いてコンテンツの取得要求を生成する。さらに、ブラウザ50は、生成した取得要求を用いてコンテンツを取得する。抽出部209は、ウェブコンテンツが取得されると、そのウェブコンテンツに含まれるリンクが選択されたか否かにかかわらず、リンクのURLを含む文字列を抽出する。すなわち、リンクが選択される前にURLを抽出することが可能である。ウェブコンテンツに複数のリンクが含まれる場合、抽出部209は、複数組の文字列を抽出する。
The
この例で、抽出部209は、HTMLファイルから、URLを含む1区切りの文字列を抽出する。「1区切りの文字列」とは、ここでは1つのHTMLタグをいう。例えば、HTMLファイルが「<a href="http://www.aaaaaa.co.jp/mn.main">」というHTMLタグを含んでいた場合、抽出部209は、「<a href="http://www.aaaaaa.co.jp/mn.main">」という文字列を抽出する。別の例で、HTMLファイルが「<a href="http://www.aaaaaa.co.jp/mn.main" accesskey="1">」というHTMLタグを含んでいた場合、抽出部209は、「<a href="http://www.aaaaaa.co.jp/mn.main" accesskey="1">」という文字列を抽出する。
In this example, the
判定部205は、抽出部209が抽出したURLについて、仮想マシン42におけるコンテンツの取得の可否の判定をする。この判定は、第1実施形態における取得要求の判定と同様に行われる。抽出部209が複数のURLを抽出した場合、処理の対象となるURLが所定のルールに従って1つずつ順番に特定され、対象となるURLについて判定が行われる。判定部205は、仮想マシン42において取得されるべきコンテンツの取得要求を特定する情報、すなわち、仮想マシン42において取得されるべきと判定されたコンテンツのURLをキャッシュに一時的に記憶する。検知部201によりコンテンツの取得要求が検知されると、判定部205は、記憶部100のパターン情報および履歴情報を参照せず、キャッシュを参照して仮想マシン42におけるコンテンツの取得の可否の判定をする。仮想マシン42において取得されるべきと判定されたURLが複数存在する場合、判定部205は、複数のURLをキャッシュに記憶される。キャッシュは、メモリ21において仮想マシン41の内部に設けられるので、仮想マシン41の外部に設けられる場合と比較して判定部205が高速に参照することが可能である。
The
取得部210は、判定部205において仮想マシン42によりコンテンツを取得すべきであると判定されなかった場合に、通信装置34を介してコンテンツを送信するようウェブサーバに要求する。
The
本実施形態において、情報処理装置10は、通信装置34を介して外部装置と通信する通信機能をオフにする動作モード(以下「セルフモード」という)を有する。セルフモードは、例えば、消費電力を抑制する目的で使用される。情報処理装置10の動作モードがセルフモードである場合、仮想マシン42にコンテンツの取得を要求しても、コンテンツを取得することはできない。すなわち、要求が無駄になってしまう。また、電力を余計に消費してしまう場合もあり、セルフモードの利点が薄れてしまう。したがって、本実施形態において、要求部203は、情報処理装置10の動作モードがセルフモードにある場合には、仮想マシン42に対してコンテンツの取得の要求をしない。
In the present embodiment, the
要求部203は、例えば、仮想マシン42に対し動作モードの問い合わせを行うことにより、情報処理装置10の動作モードを示す情報を取得する。あるいは、仮想マシン42が、動作モードを変更するたびに、その時点での動作モードを示す情報を仮想マシン41に送信してもよい。あるいは、VMM40など、仮想マシン41および仮想マシン42以外のソフトウェアモジュールが情報処理装置10の動作モードを監視し、仮想マシン41は、このソフトウェアモジュールから情報処理装置10の動作モードを示す情報を取得してもよい。
The
表示部211は、取得部204が取得したコンテンツに従った画像をディスプレイ32に表示する。取得部204(仮想マシン41)がコンテンツを取得したということは、仮想マシン41がアクティブになり、ブラウザ60の画面がディスプレイ32に表示される必要がある。表示部211は、コンテンツが取得できた場合、仮想マシン42をアクティブにし、ブラウザ60の画面がディスプレイ32に表示されるように制御をする。
The
4−2.動作
図14は、仮想マシン41が第1のコンテンツを取得したときの処理を示すフローチャートである。仮想マシン41が通信装置34を介してコンテンツを取得すると、図14のフローが実行される。
4-2. Operation FIG. 14 is a flowchart showing processing when the
ステップS601において、判定部205は、抽出部209が抽出した文字列に仮想マシン42で用いられる制御情報が含まれているか判定する。「仮想マシン42で用いられる制御情報」とは、仮想マシン42の独自の機能を制御するための情報をいう。例えば、「<a href="http://www.aaaaaa.co.jp/mn.main" accesskey="1">」というHTMLタグにおいて、「accesskey="1"」の部分は、キーパッド31のうち「1」キーが押されると、このリンクを選択する機能を提供するための文字列(情報)であり、仮想マシン42に独自のものである。仮想マシン41は、仮想マシン42の独自機能に関する文字列の一覧を記憶部101に記憶しており、判定部205は、この一覧を参照して、文字列に仮想マシン42で用いられる制御情報が含まれているか判定する。あるいは、判定部205は、ブラウザ50にこの文字列の解釈をさせ、ブラウザ50が解釈できなかった場合、文字列に仮想マシン42で用いられる制御情報が含まれていると判定してもよい。仮想マシン42で用いられる制御情報が含まれていると判定された場合(S601:YES)、判定部205は、処理をステップS602に移行する。仮想マシン42で用いられる制御情報が含まれていないと判定された場合(S601:NO)、判定部205は、処理をステップS604に移行する。
In step S <b> 601, the
ステップS602において、要求部203は、情報処理装置10において通信が許可されているか、すなわち、情報処理装置10の動作モードが非セルフモードであるか判定する。情報処理装置10において通信が許可されていると判定された場合(S602:YES)、要求部203は、仮想マシン42にコンテンツの取得を要求する(ステップS603)。情報処理装置10において通信が許可されていないと判定された場合(S602:NO)、要求部203は図14のフローを終了する。
In step S602, the
ステップS604において、抽出部209は、取得したコンテンツから文字列を抽出する。ステップS605−S608において、判定部205は、第1実施形態のステップS101−S104と同様に、文字列とパターン情報および履歴情報との照合を行う。抽出された文字列がパターン情報または履歴情報と一致する部分を含んでいた場合(S606またはS608:YES)、判定部205は、処理をステップS609に移行する。抽出された文字列がパターン情報および履歴情報と一致する部分を含んでいなかった場合(S608:NO)、判定部205は、処理をステップS610に移行する。
In step S604, the
ステップS609において、判定部205は、パターン情報または履歴情報と一致する部分を含んでいた文字列を、仮想マシン42においてコンテンツを取得すべきリンクを特定する情報としてキャッシュに記憶する。ステップS610において、判定部205は、仮想マシン42においてコンテンツを取得すべきであるか否かの判定結果を示す情報を、リンクを特定する情報とともにキャッシュに記憶する。
In step S <b> 609, the
図15は、仮想マシン41において第2のコンテンツの取得が要求されたときの処理を示すフローチャートである。ステップS109において、判定部205は、取得を要求されているコンテンツ(第2のコンテンツ)が、第1のコンテンツに含まれるリンクを選択したことにより要求されたものであるか判定する。ブラウザ50においては、リンクを選択することに加え、URLを入力することによっても、第2のコンテンツの取得が可能である。ここでは、第1のコンテンツに含まれるリンクを選択した場合とそれ以外の場合とで処理を異ならせている。リンクを選択することによる要求であると判定された場合(S109:YES)、判定部205は、処理をステップS110に移行する。リンクを選択することによる要求でないと判定された場合(S109:NO)、判定部205は、処理をステップS101に移行する。
FIG. 15 is a flowchart illustrating processing when the
ステップS110において、判定部205は、キャッシュを参照して、そのリンクについて、仮想マシン42においてコンテンツを取得すべきであるとの判定結果であるか判定する。仮想マシン42においてコンテンツを取得すべきであるとの判定結果であると判定された場合(S110:YES)、判定部205は、処理をステップS111に移行する。仮想マシン42においてコンテンツを取得すべきであるとの判定結果であると判定された場合(S110:NO)、判定部205は、処理をステップS111に移行する。
In step S <b> 110, the
ステップS111において、判定部205は、キャッシュを参照して、そのリンクについて、仮想マシン42においてコンテンツを取得すべきであるか否かを判定する。仮想マシン42においてコンテンツを取得すべきであると判定された場合(S111:YES)、判定部205は、処理をステップS112に移行する。仮想マシン42においてコンテンツを取得すべきであると判定されなかった場合(S111:NO)、判定部205は、処理をステップS101に移行する。
In step S111, the
ステップS101−S105の処理は、第1実施形態で説明したものと同様である。ステップS106において、コンテンツが取得できなかったと判定された場合、判定部202は、処理をステップS112に移行する。
The processing in steps S101 to S105 is the same as that described in the first embodiment. If it is determined in step S106 that content could not be acquired, the
ステップS112において、要求部203は、情報処理装置10において通信が許可されているか、すなわち、情報処理装置10の動作モードが非セルフモードであるか判定する。情報処理装置10において通信が許可されていると判定された場合(S112:YES)、要求部203は、処理をステップS107に移行する。情報処理装置10において通信が許可されていないと判定された場合(S112:NO)、要求部203は、図15のフローを終了する。
In step S112, the
図16は、仮想マシン42におけるコンテンツ取得処理を示すフローチャートである。ステップS201−S202の処理は、第1実施形態で説明したものと同様である。ステップS202の処理が終了すると、取得部204は、処理をステップS204に移行する。
FIG. 16 is a flowchart showing content acquisition processing in the
ステップS204において、取得部204は、コンテンツを取得できたか判定する。コンテンツを取得できたと判定された場合(S204:YES)、取得部204は、処理をステップS205に移行する。コンテンツを取得できなかったと判定された場合(S204:NO)、取得部204は、処理をステップS203に移行する。
In step S204, the
ステップS205において、表示部211は、コンテンツに従った画面をディスプレイ32に表示する。
In step S205, the
以上で説明したように、本実施形態によれば、仮想マシン42においてコンテンツを取得すべきであるか否かの判定は、コンテンツの取得要求がなくても行われる。コンテンツの取得要求に先立って判定が行われていた場合、判定の結果を確認すればよいので、本実施形態の構成を有しない場合と比較して、コンテンツの取得要求があってから仮想マシン42にコンテンツの取得を要求するまでの時間を短縮できる。
As described above, according to the present embodiment, the determination as to whether or not content should be acquired in the
5.他の実施形態
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。以下で説明する変形例のうち2つ以上のものが組み合わせて用いられてもよい。
5. Other Embodiments The present invention is not limited to the above-described embodiments, and various modifications can be made. Hereinafter, some modifications will be described. Two or more of the modifications described below may be used in combination.
第1実施形態に係る機能の具体的な実装方法は、実施形態で説明したものに限定されない。第1実施形態では、検知部201、判定部202、要求部203、判定部205に相当する新たなAPIおよび外部通信APIを含むミドルウェアを新たに導入する例を説明したが、これ以外の態様で上記の機能が実装されてもよい。例えば、外部通信API自体を改良し、検知部201、判定部202、要求部203、判定部205としての機能またはこれらの機能を呼び出す機能を付加してもよい。あるいは、ブラウザ50に、検知部201、判定部202、要求部203、判定部205としての機能またはこれらの機能を呼び出す機能を付加してもよい。さらにあるいは、ブラウザ50以外のアプリケーションプログラムやOS等に、検知部201、判定部202、要求部203、判定部205としての機能またはこれらの機能を呼び出す機能を持たせてもよい。要は、仮想マシン41が全体として実施形態で説明した機能を実現できるのであれば、実装の形態はどのようなものであってもよい。仮想マシン42や、第2実施形態、第3実施形態、その他の実施形態についても同様である。
The specific mounting method of the function according to the first embodiment is not limited to that described in the embodiment. In the first embodiment, an example of newly introducing middleware including a new API and an external communication API corresponding to the
第1〜第3実施形態において、仮想マシン41は、判定部202および判定部205のうちどちらか一方を有していなくてもよい。例えば、判定部202を有さない場合、図6のステップS106の処理が省略される。要は、要求部203は、コンテンツを取得できないと予測された場合、または、コンテンツを取得できなかった場合に、仮想マシン42に対してコンテンツの取得を要求するものであればよい。
In the first to third embodiments, the
第1〜第3実施形態において、記憶部100は、パターン情報および履歴情報のうちどちらか一方を有していなくてもよい。例えば、記憶部100がパターン情報を有しない場合、図6のステップS101およびS102の処理が省略される。記憶部100が履歴情報を有しない場合についても同様である。
In the first to third embodiments, the
第1〜第3実施形態において、送信部206は、取得部204でコンテンツを取得できたことを示す結果を送信する機能を有していなくてもよい。この場合、仮想マシン41は、更新部207を有していなくてもよい。
In the first to third embodiments, the
第1実施形態において、更新部207は、仮想マシン42によりコンテンツの取得の結果ではなく、仮想マシン41によるコンテンツの取得の結果に応じて記憶部100に記憶された履歴情報の更新を行ってもよい。この場合、仮想マシン41においてコンテンツの取得(ステップS304)ができなかったときに、更新207は履歴情報の更新をする。
In the first embodiment, the
第2実施形態において、仮想マシン41は、判定部202および判定部205を有していなくてもよい。すなわち、仮想マシン42でコンテンツを取得すべきであるかの判定(仮想マシン41でコンテンツを取得できるかの判定)は仮想マシン42のみで行い、仮想マシン41がその結果に応じて、仮想マシン42に対してコンテンツの取得の要求を行ってもよい。
In the second embodiment, the
第3実施形態において、仮想マシン42は、表示部211を有していなくてもよい。
あるいは、第1および第2実施形態の仮想マシン42が、表示部211を有していてもよい。
In the third embodiment, the
Alternatively, the
第3実施形態において、仮想マシン42独自の制御情報に応じた処理の分岐は行われなくてもよい。すなわち、図14のステップS601の処理は省略されてもよい。あるいは、HTMLタグが制御情報を含むかの判定は、パターン情報を用いた判定(図15のステップS101およびS102)の一部として行われてもよい。この場合、パターン情報は、仮想マシン42独自の制御情報を示す文字列を含む。あるいは、第1実施形態または第2実施形態の携帯電話機10において、仮想マシン42独自の制御情報がHTMLタグにあった場合に、仮想マシン42にコンテンツの取得を要求してもよい。
In the third embodiment, branching of processing according to control information unique to the
第3実施形態において、仮想マシン42は、動作モードとしてセルフモードを有していなくてもよい。あるいは、第1および第2実施形態の仮想マシン42が、動作モードとしてセルフモードを有していてもよい。この場合、図15のステップS112と同様の処理が行われてもよい。
In the third embodiment, the
ソフトウェアまたはソフトウェアモジュール間の機能の分担は、実施形態で説明したものに限定されない。仮想マシン41または仮想マシン42が全体として、実施形態で説明した機能を実現できるのであれば、個々のソフトウェアモジュールの機能の分担はどのようなものであってもよい。例えば、第3実施形態において、HTMLタグが仮想マシン42独自の制御情報を含むかの判定は、判定部205が行う例を説明した。しかし、この判定は、判定部205以外の別のソフトウェアモジュールにより行われてもよい。また、別の例で、第3実施形態において、ブラウザ60が取得部204および送信部206を有している例を説明した。しかし、ブラウザ60以外の別のアプリケーションが、取得部204および送信部206の少なくともいずれか一方を有し、ブラウザ60と連携して動作してもよい。さらに別の例で、第1実施形態において、ブラウザ50以外の別のアプリケーションプログラムが検知部201、判定部202、要求部203、判定部205および更新部207を有している例を説明した。しかし、ブラウザ50が、これらの機能の少なくとも1つを有し、このアプリケーションプログラムと連携して動作してもよい。また、検知部201、判定部202、要求部203、判定部205および更新部207はそれぞれ別のプログラムとして実装されてもよい。特に例示はしないが、他の実施形態や他の機能要素についても同様である。
The sharing of functions between software or software modules is not limited to that described in the embodiment. As long as the
仮想マシン41上および仮想マシン42上でインターネットを介したデータ通信を行うアプリケーションはブラウザに限定されない。同様に、インターネットを介して取得されるデータはウェブコンテンツに限定されない。メーラ等の他のアプリケーションおよび電子メール等の他のデータが用いられてもよい。データが電子メールである場合、データの所在を示す情報は、メールサーバのアドレスまたはメールアドレスである。
An application that performs data communication via the Internet on the
10…携帯電話機、20…CPU、21…メモリ、30…記憶装置、31…キーパッド、32…ディスプレイ、33…スピーカ、34…通信装置、40…VMM、41…仮想マシン、42…仮想マシン、50…ブラウザ、60…ブラウザ、100…記憶部、101…記憶部、201…検知部、202…判定部、203…要求部、204…取得部、205…判定部、206…送信部、207…更新部、208…判定部、209…抽出部、210…取得部、211…表示部、212…受信部
DESCRIPTION OF
Claims (13)
第1の仮想マシンおよび第2の仮想マシンを実現するためのプログラム、前記第2の仮想マシン上で動作し、前記通信装置および特定の接続先を介してデータを取得する第1のアプリケーションを実現するためのプログラム、ならびに前記第1の仮想マシン上で動作し、前記特定の接続先とは別の接続先および前記通信装置を介してデータを取得する第2のアプリケーションを実現するためのプログラムを記憶した記憶装置と、
前記記憶装置に記憶されたプログラムに従った処理を行うプロセッサと、
を有し、
前記第1の仮想マシンが、
前記第2のアプリケーションから出された、前記通信装置を介してデータを取得することを要求する取得要求を検知する検知手段と、
前記検知手段により検知された取得要求により要求されたデータを、前記第1の仮想マシンが取得できるか判定する第1の判定手段と、
前記データを取得できないと前記第1の判定手段が判定した場合、前記第2の仮想マシンに対して、前記データを取得するように要求をする要求手段と
を有し、
前記第2の仮想マシンが、
前記要求を受けると、前記通信装置を介して前記データを取得する第1の取得手段
を有する
ことを特徴とする情報処理装置。 A communication device;
A program for realizing a first virtual machine and a second virtual machine and a first application that operates on the second virtual machine and acquires data via the communication device and a specific connection destination And a program for realizing a second application that operates on the first virtual machine and acquires data via a connection destination different from the specific connection destination and the communication device A stored storage device;
A processor that performs processing according to a program stored in the storage device;
Have
The first virtual machine is
Detection means for detecting an acquisition request issued from the second application for requesting acquisition of data via the communication device;
First determination means for determining whether the first virtual machine can acquire the data requested by the acquisition request detected by the detection means;
Requesting means for requesting the second virtual machine to acquire the data when the first determination means determines that the data cannot be acquired;
The second virtual machine is
An information processing apparatus comprising: a first acquisition unit configured to acquire the data via the communication device when receiving the request.
第1の仮想マシンおよび第2の仮想マシンを実現するためのプログラム、前記第2の仮想マシン上で動作し、前記通信装置および特定の接続先を介してデータを取得する第1のアプリケーションを実現するためのプログラム、ならびに前記第1の仮想マシン上で動作し、前記特定の接続先とは別の接続先および前記通信装置を介してデータを取得する第2のアプリケーションを実現するためのプログラムを記憶した記憶装置と、
前記記憶装置に記憶されたプログラムに従った処理を行うプロセッサと、
を有し、
前記第1の仮想マシンが、
前記第2のアプリケーションから出された、前記通信装置を介してデータを取得することを要求する取得要求を検知する検知手段と、
前記取得要求により要求されるデータの取得を試みる第2の取得手段と、
前記検知手段により検知された取得要求により要求されたデータを、前記第2の取得手段が取得できたか判定する第1の判定手段と、
前記データを取得できなかったと前記第1の判定手段が判定した場合、前記第2の仮想マシンに対して、前記データを取得するように要求をする要求手段と
を有し、
前記第2の仮想マシンが、
前記要求を受けると、前記通信装置を介して前記データを取得する第1の取得手段
を有する
ことを特徴とする情報処理装置。 A communication device;
A program for realizing a first virtual machine and a second virtual machine and a first application that operates on the second virtual machine and acquires data via the communication device and a specific connection destination And a program for realizing a second application that operates on the first virtual machine and acquires data via a connection destination different from the specific connection destination and the communication device A stored storage device;
A processor that performs processing according to a program stored in the storage device;
Have
The first virtual machine is
Detection means for detecting an acquisition request issued from the second application for requesting acquisition of data via the communication device;
Second acquisition means for attempting to acquire data requested by the acquisition request;
First determination means for determining whether the second acquisition means has acquired the data requested by the acquisition request detected by the detection means;
Request means for requesting the second virtual machine to acquire the data when the first determination means determines that the data could not be acquired;
The second virtual machine is
An information processing apparatus comprising: a first acquisition unit configured to acquire the data via the communication device when receiving the request.
前記第1の仮想マシンは、文字列のパターンを示す情報を記憶する第1の記憶手段を有し、
前記検知手段により検知された取得要求に含まれる文字列の所定の一部または全部が前記第1の記憶手段に記憶されている情報と一致した場合、前記第1の判定手段は、前記データを取得できないと判定する
ことを特徴とする請求項1に記載の情報処理装置。 The acquisition request includes a character string for specifying the data,
The first virtual machine has first storage means for storing information indicating a character string pattern;
When a predetermined part or all of the character string included in the acquisition request detected by the detection unit matches the information stored in the first storage unit, the first determination unit stores the data The information processing apparatus according to claim 1, wherein it is determined that the information cannot be acquired.
前記第1の仮想マシンは、前記第1の仮想マシンが取得できなかったデータの所在を示す所在情報の履歴、または、前記第2の仮想マシンが取得できたデータの所在を示す所在情報の履歴を示す情報を記憶する第1の記憶手段を有し、
前記検知手段により検知された取得要求に含まれる文字列の所定の一部または全部が、前記第1の記憶手段に記憶されている情報と一致した場合、前記第1の判定手段は、前記データを取得できないと判定する
ことを特徴とする請求項1または3に記載の情報処理装置。 The acquisition request includes a character string for specifying the data,
The first virtual machine has a history of location information indicating the location of data that could not be acquired by the first virtual machine, or a history of location information indicating the location of data that could be acquired by the second virtual machine. First storage means for storing information indicating
When a predetermined part or all of the character string included in the acquisition request detected by the detection unit matches the information stored in the first storage unit, the first determination unit The information processing apparatus according to claim 1, wherein the information processing apparatus determines that it cannot be acquired.
前記第1の仮想マシンは、前記第2の仮想マシンから前記結果を受信した場合、前記結果に係るデータの所在を示す所在情報を用いて前記第1の記憶手段に記憶されている履歴を更新する更新手段を有する
ことを特徴とする請求項4に記載の情報処理装置。 The second virtual machine has transmission means for transmitting a result indicating that the data has been acquired to the first virtual machine when the first acquisition means acquires the data,
When the first virtual machine receives the result from the second virtual machine, the first virtual machine updates the history stored in the first storage unit using the location information indicating the location of the data related to the result. The information processing apparatus according to claim 4, further comprising an update unit configured to perform update processing.
前記第1の仮想マシンは、前記検知手段により検知された前記取得要求により要求される前記データの取得の可否の判定を前記第2の仮想マシンに依頼する依頼手段を有し、
前記第2の仮想マシンは、前記依頼を受けると、前記データの所在情報の所定の一部または全部が、前記第2の記憶手段に記憶されている情報と一致するか判定する第2の判定手段を有し、
前記データの所在情報の所定の一部または全部が前記第2の記憶手段に記憶されている情報と一致すると前記第2の判定手段により判定された場合、前記第1の取得手段が、前記データを取得する
ことを特徴とする請求項1、3−5のいずれかの項に記載の情報処理装置。 The second virtual machine has second storage means for storing information indicating a history of location information indicating the location of data acquired by the first acquisition means,
The first virtual machine has request means for requesting the second virtual machine to determine whether or not to acquire the data requested by the acquisition request detected by the detection means,
Upon receiving the request, the second virtual machine determines whether a predetermined part or all of the location information of the data matches information stored in the second storage unit Having means,
When the second determination unit determines that a predetermined part or all of the location information of the data matches the information stored in the second storage unit, the first acquisition unit includes the data The information processing apparatus according to any one of claims 1 and 3-5.
前記第2の取得手段により取得された前記第1のデータが、第2のデータの所在を示す所在情報を含み、
前記第1の仮想マシンは、前記第1のデータから前記第2のデータの所在情報を抽出する抽出手段を有し、
前記抽出手段により抽出された前記所在情報の所定の一部または全部が前記第1の記憶手段に記憶された情報に一致したとき、前記第1の判定手段は、前記第2のデータを取得できないと判定する
ことを特徴とする請求項1、3−6のいずれかの項に記載の情報処理装置。 The first virtual machine has second acquisition means for acquiring first data;
The first data acquired by the second acquisition means includes location information indicating the location of the second data;
The first virtual machine has extraction means for extracting location information of the second data from the first data,
When the predetermined part or all of the location information extracted by the extraction unit matches the information stored in the first storage unit, the first determination unit cannot acquire the second data The information processing apparatus according to any one of claims 1 and 3-6.
ことを特徴とする請求項7に記載の情報処理装置。 The information processing apparatus according to claim 7, wherein when the first determination unit does not determine that the data cannot be acquired, the second acquisition unit acquires the second data.
前記制御情報が前記第1の仮想マシンに対応しないものであった場合、前記要求手段が、前記データを取得するように前記第2の仮想マシンに要求する
ことを特徴とする請求項7または8に記載の情報処理装置。 The first data includes control information for configuring the data;
The said request | requirement means requests | requires the said 2nd virtual machine to acquire the said data, when the said control information does not respond | correspond to the said 1st virtual machine. The information processing apparatus described in 1.
前記第2の仮想マシンが、前記第1の取得手段により取得されたデータに従った画像を前記表示装置に表示させる表示手段を有する
ことを特徴とする請求項1−9のいずれかの項に記載の情報処理装置。 Having a display device;
The said 2nd virtual machine has a display means to display the image according to the data acquired by the said 1st acquisition means on the said display apparatus. The term in any one of Claims 1-9 characterized by the above-mentioned. The information processing apparatus described.
前記要求手段は、前記動作モードが前記第1の動作モードである場合に、前記データを取得するように前記第2の仮想マシンに要求する
ことを特徴とする請求項1−10のいずれかの項に記載の情報処理装置。 A first operation mode in which communication through the communication device is permitted, and a second operation mode in which communication through the communication device is not permitted,
11. The request unit according to claim 1, wherein when the operation mode is the first operation mode, the request unit requests the second virtual machine to acquire the data. The information processing apparatus according to item.
前記第1の仮想マシンが、前記第2のアプリケーションから出された、前記通信装置を介してデータを取得することを要求する取得要求を検知するステップと、
前記第1の仮想マシンが、前記検知された取得要求により要求されたデータを、前記第1の仮想マシンが取得できるか判定するステップと、
前記第1の仮想マシンが前記データを取得できないと判定された場合、前記第2の仮想マシンに対して、前記データを取得するように要求をするステップと、
前記第2の仮想マシンが、前記要求を受けると、前記通信装置を介して前記データを取得するステップと
を有することを特徴とする通信方法。 A communication device, a program for realizing a first virtual machine and a second virtual machine, a first program that operates on the second virtual machine and acquires data via the communication device and a specific connection destination And a second application that operates on the first virtual machine and acquires data via a connection destination different from the specific connection destination and the communication device A communication method in an information processing apparatus having a storage device storing a program for storing and a processor that performs processing according to the program stored in the storage device,
The first virtual machine detecting an acquisition request issued from the second application requesting acquisition of data via the communication device;
Determining whether the first virtual machine can acquire the data requested by the detected acquisition request;
Requesting the second virtual machine to obtain the data if it is determined that the first virtual machine cannot obtain the data;
When the second virtual machine receives the request, the second virtual machine acquires the data via the communication device.
前記第1の仮想マシンが、前記第2のアプリケーションから出された、前記通信装置を介してデータを取得することを要求する取得要求を検知するステップと、
前記第1の仮想マシンが、前記取得要求により要求されるデータの取得を試みるステップと、
前記第1の仮想マシンが、前記検知された取得要求により要求されたデータを取得できたか判定するステップと、
前記第1の仮想マシンが、前記データを取得できなかったと判定した場合、前記第2の仮想マシンに対して、前記データを取得するように要求をするステップと、
前記第2の仮想マシンが、前記要求を受けると、前記通信装置を介して前記データを取得するステップと
を有することを特徴とする通信方法。 A communication device, a program for realizing a first virtual machine and a second virtual machine, a first program that operates on the second virtual machine and acquires data via the communication device and a specific connection destination And a second application that operates on the first virtual machine and acquires data via a connection destination different from the specific connection destination and the communication device A communication method in an information processing apparatus having a storage device storing a program for storing and a processor that performs processing according to the program stored in the storage device,
The first virtual machine detecting an acquisition request issued from the second application requesting acquisition of data via the communication device;
The first virtual machine attempting to acquire data requested by the acquisition request;
Determining whether the first virtual machine has acquired the data requested by the detected acquisition request;
If the first virtual machine determines that the data could not be obtained, requesting the second virtual machine to obtain the data;
When the second virtual machine receives the request, the second virtual machine acquires the data via the communication device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009074810A JP4755702B2 (en) | 2009-03-25 | 2009-03-25 | Information processing apparatus and communication method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009074810A JP4755702B2 (en) | 2009-03-25 | 2009-03-25 | Information processing apparatus and communication method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010231251A JP2010231251A (en) | 2010-10-14 |
JP4755702B2 true JP4755702B2 (en) | 2011-08-24 |
Family
ID=43047043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009074810A Expired - Fee Related JP4755702B2 (en) | 2009-03-25 | 2009-03-25 | Information processing apparatus and communication method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4755702B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5821631B2 (en) * | 2011-12-28 | 2015-11-24 | 富士通株式会社 | Playback apparatus, playback method, and playback program |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002169751A (en) * | 2000-12-01 | 2002-06-14 | Ntt Me Corp | System and method for modification and distribution of contents and computer program |
JP2005064678A (en) * | 2003-08-08 | 2005-03-10 | Sanyo Electric Co Ltd | Portable communication equipment and server device |
JP2005236480A (en) * | 2004-02-18 | 2005-09-02 | Nec Corp | Information communication terminal, network route selecting method and program |
JP4358224B2 (en) * | 2006-12-27 | 2009-11-04 | 株式会社東芝 | Guest OS scheduling method and virtual machine monitor |
WO2008126145A1 (en) * | 2007-03-30 | 2008-10-23 | Fujitsu Limited | Setting method for virtual network adapter in virtual os environment of computer system and computer system |
-
2009
- 2009-03-25 JP JP2009074810A patent/JP4755702B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010231251A (en) | 2010-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11921996B2 (en) | Information processing terminal and control method | |
EP2129148B1 (en) | Content distribution system | |
US9021468B1 (en) | Bundling extension installation with web browser installation | |
CN111684778B (en) | Implementation method of application function and electronic equipment | |
US10152660B2 (en) | Smart card read/write method and apparatus | |
CN110399578B (en) | Page access method and device | |
KR102073678B1 (en) | Method and apparatus for firmware virtualization | |
CN111190591B (en) | Interface display method, data processing method, device, terminal and server | |
US10235189B2 (en) | Isolating a redirected smart card reader to a remote session | |
US10341346B2 (en) | Information processing method, information processing apparatus, and storage medium | |
US20160285880A1 (en) | Mashup method, computer-readable recording medium, and terminal | |
JP5004857B2 (en) | Application update information providing system and application update information providing method | |
EP2558934A1 (en) | Method and apparatus for widget compatibility and transfer | |
JP2013191196A (en) | Information processing device, apparatus, information processing system, information processing method, and information processing program | |
EP3007470B1 (en) | Performance improvement method in instance hosting environment and service system therefor | |
US20090300478A1 (en) | Image forming apparatus, information processing method and program | |
US10643234B1 (en) | Pre-loaded native application tracking service | |
CN111400072B (en) | Interface calling method, storage medium and related equipment | |
CN112468611A (en) | Application program starting method, terminal device and computer storage medium | |
JP4755702B2 (en) | Information processing apparatus and communication method | |
CN109618016B (en) | DNS request sending and processing method, related method and related device | |
US10594511B2 (en) | Address system | |
US20150128070A1 (en) | Additional Service Executing Apparatus Included in User Terminal to Provide Additional Service, and Method for Providing Additional Service Using Same | |
US11196799B2 (en) | Redirection of USB devices from hardware isolated virtual desktop infrastructure clients | |
CA2593877C (en) | Automatic mobile device configuration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20110517 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110518 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110527 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140603 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4755702 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |