JP2013152545A - Application execution device, system and program - Google Patents

Application execution device, system and program Download PDF

Info

Publication number
JP2013152545A
JP2013152545A JP2012012257A JP2012012257A JP2013152545A JP 2013152545 A JP2013152545 A JP 2013152545A JP 2012012257 A JP2012012257 A JP 2012012257A JP 2012012257 A JP2012012257 A JP 2012012257A JP 2013152545 A JP2013152545 A JP 2013152545A
Authority
JP
Japan
Prior art keywords
application
mobile terminal
execution
processing device
data
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.)
Granted
Application number
JP2012012257A
Other languages
Japanese (ja)
Other versions
JP5705757B2 (en
Inventor
Shoji Toyama
将司 外山
Shunsuke Kurumaya
駿介 車谷
Chen Eric
チェン エリック
Masami Izumi
雅巳 泉
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2012012257A priority Critical patent/JP5705757B2/en
Publication of JP2013152545A publication Critical patent/JP2013152545A/en
Application granted granted Critical
Publication of JP5705757B2 publication Critical patent/JP5705757B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Telephone Function (AREA)

Abstract

PROBLEM TO BE SOLVED: To reduce battery consumption of a mobile terminal and accelerate processing for an application which is executed in the mobile terminal without modification of the application itself.SOLUTION: Application data indicating a memory state and a status state when executing an application is shared between a mobile terminal 11 and a server 20. An execution of an application 12 in the mobile terminal 11 ends when an operation end is inputted for the mobile terminal 11, and an execution of an application 22 starts in a virtual mobile terminal 21 of the server 20 on the basis of the shared application data. The execution of the application 22 in the virtual mobile terminal 21 ends when an operation start is inputted for the mobile terminal 11, and the execution of the application 12 starts in the mobile terminal 11 on the shared application data.

Description

本発明は、スマートフォンやタブレット端末などのモバイル(移動)端末におけるアプリケーションプログラムの実行に関し、特に、モバイル端末上で実行されるアプリケーションのバックグラウンド処理をサーバで実行できるようにする技術に関する。   The present invention relates to execution of an application program in a mobile (mobile) terminal such as a smartphone or a tablet terminal, and particularly relates to a technology that enables background processing of an application executed on a mobile terminal to be executed by a server.

スマートフォンやタブレット端末などのモバイル端末は、リチウムイオン電池などの二次電池(バッテリー)からの電力で動作し、モバイルOS(オペレーティングシステム)によるプロセス管理及びメモリ管理の下で各種のアプリケーション(AP;アプリあるいはアプリケーションプログラムとも呼ばれる)を実行可能である。典型的なモバイル端末では、フロントエンドジョブとして1つのアプリケーションの画面がその端末のディスプレイに表示されるが、同時に、種々のアプリケーションのバックグラウンド処理を実行することができる。例えば、モバイルOSの1つであるAndroid(登録商標)OSを用いるモバイル端末では、アプリケーションのGUI(グラフィカルユーザインタフェース)処理に相当するActivityというコンポーネントが実装されて画面処理を実行するが、ユーザ操作によってそのアプリケーションの画面がディスプレイから消えた後も、バックグラウンドで処理を継続できるようになっている。   Mobile terminals such as smartphones and tablet terminals operate with power from a secondary battery (battery) such as a lithium-ion battery, and various applications (AP; applications) under process management and memory management by a mobile OS (operating system) (Also called an application program). In a typical mobile terminal, a screen of one application is displayed on the display of the terminal as a front-end job, but at the same time, background processing of various applications can be executed. For example, in a mobile terminal using an Android (registered trademark) OS that is one of mobile OSs, a component called Activity corresponding to GUI (graphical user interface) processing of an application is mounted and screen processing is executed. Even after the screen of the application disappears from the display, processing can continue in the background.

図9は、モバイル端末におけるアプリケーションのバックグラウンド処理を説明する図である。ここに示した例では、モバイル端末11において実行されるアプリケーション12は、ネットワークを介してウェブサイト90に接続してウェブサイト90から情報を取得し、処理を行い、処理結果を画面に表示するものである。モバイル端末11には、フラッシュメモリなどのメモリカードなどからなるストレージ(記憶装置)13も設けられている。   FIG. 9 is a diagram for explaining background processing of an application in a mobile terminal. In the example shown here, the application 12 executed in the mobile terminal 11 connects to the website 90 via the network, acquires information from the website 90, performs processing, and displays the processing result on the screen. It is. The mobile terminal 11 is also provided with a storage (storage device) 13 including a memory card such as a flash memory.

ユーザ操作(ステップ101)によってアプリケーション12が起動されると、アプリケーション12は、フロントエンドジョブとして実行され、ウェブサイト90にアクセスして情報を取得し、処理結果を画面に表示する。ユーザはこのアプリケーション12を利用することができる(ステップ102)。ユーザ操作終了が入力されると(ステップ103)、アプリケーション12はモバイル端末11の表示画面上からは消えるものの、バックグラウンド処理を続行し、ウェブサイト90からの情報取得を継続して実行する(ステップ104)。ユーザ操作終了は、例えば、アプリケーションのGUIにおける終了の選択や、他のアプリケーションを起動することなどによって入力される。バックグラウンド処理における情報取得は、例えば、ポーリング動作などによって行われる。その後、ユーザがこのアプリケーションを再開する操作を行うと(ステップ105)、アプリケーション12は再びフロントエンドジョブとしてウェブサイト90からの情報の取得の処理及び結果の画面への表示を行う(ステップ106)。この状態は、次にユーザ操作終了(ステップ107)が入力するまで継続する。   When the application 12 is activated by a user operation (step 101), the application 12 is executed as a front-end job, accesses the website 90 to acquire information, and displays the processing result on the screen. The user can use this application 12 (step 102). When the end of the user operation is input (step 103), the application 12 disappears from the display screen of the mobile terminal 11, but continues the background processing and continues to acquire information from the website 90 (step). 104). The user operation end is input by, for example, selecting an end in the GUI of the application or starting another application. Information acquisition in the background processing is performed by, for example, a polling operation. Thereafter, when the user performs an operation of resuming the application (step 105), the application 12 again performs processing for acquiring information from the website 90 and displaying the result on the screen as a front-end job (step 106). This state continues until the next user operation end (step 107) is input.

モバイル端末にインストールされるアプリケーションの数の増加に伴って、実行されるバックグラウンド処理の処理量も増加し、モバイル端末の電池消費の加速や処理速度の低下などの問題が生じている。一般にモバイルOSでは、アプリケーションの実行を制御するタスクマネージャと呼ばれる特別なプログラムが実装されており(例えば、非特許文献1を参照)、アプリケーションはこのタスクマネージャによって動作(例えば起動と停止)が制御されるようになっている。モバイル端末にインストールされることを前提とするアプリケーションをモバイルアプリケーションと呼ぶ。一般的なモバイルアプリケーションは、アプリケーションの動作を完全に停止した際にその停止直前の状態からそのアプリケーションを再度開始することができるようにするために、停止時点での実行メモリのデータ(いわゆるメモリイメージ)及びアプリケーションのステータス情報をストレージ13内に保存するデータ永続化処理を行い、また、ストレージ13内に保存されたデータを実行メモリに展開しステータス情報を読出すデータ復元処理をアプリケーションの再開時に行うように構成されている。以下、実行メモリのデータとステータス情報をまとめてアプリケーションデータと呼ぶことにする。永続化処理と復元処理を実行することによって、アプリケーションの再開時には、アプリケーションを停止した時点と同じメモリ状態、ステータス状態となるので、アプリケーションは、実行停止時点の状態からそのまま実行を再開することになる。   As the number of applications installed on mobile terminals increases, the amount of background processing to be executed also increases, causing problems such as acceleration of battery consumption of mobile terminals and reduction of processing speed. In general, in a mobile OS, a special program called a task manager that controls the execution of an application is implemented (for example, see Non-Patent Document 1), and the operation (for example, start and stop) of the application is controlled by the task manager. It has become so. An application that is assumed to be installed on a mobile terminal is called a mobile application. When a general mobile application stops the operation of the application completely, in order to be able to start the application again from the state immediately before the stop, the data of the execution memory at the time of the stop (so-called memory image) ) And data persistence processing for saving application status information in the storage 13, and data restoration processing for expanding the data saved in the storage 13 to the execution memory and reading the status information is performed when the application is resumed. It is configured as follows. Hereinafter, the execution memory data and the status information are collectively referred to as application data. By executing the persistence process and the restoration process, when the application is resumed, the memory state and status state are the same as when the application was stopped. Therefore, the application resumes execution from the state at the time when the application was stopped. .

図10は、タスクマネージャを備えるモバイル端末におけるアプリケーションの実行を説明する図である。モバイル端末11で実行されるアプリケーション12は、図9において説明したものと同様のものである。モバイル端末11は、ストレージ13を備えるとともに、タスクマネージャ14が実装されている。ユーザ操作(ステップ111)によってアプリケーション12が起動されてフロントエンドジョブとして実行されると、アプリケーション12は、ウェブサイト90からの情報取得と処理結果の画面表示とを実行し、ユーザによるこのアプリケーション12の利用を可能にする(ステップ112)。ユーザ操作終了が入力されると(ステップ113)、タスクマネージャ14がユーザ操作終了の入力を検知し(ステップ114)、アプリケーション12の動作を終了させる(ステップ115)。データ永続化処理により、アプリケーションのデータがストレージ13に保存される(ステップ116)。   FIG. 10 is a diagram illustrating execution of an application in a mobile terminal including a task manager. The application 12 executed on the mobile terminal 11 is the same as that described in FIG. The mobile terminal 11 includes a storage 13 and a task manager 14. When the application 12 is activated by a user operation (step 111) and executed as a front-end job, the application 12 acquires information from the website 90 and displays a processing result on the screen. Use is enabled (step 112). When the user operation end is input (step 113), the task manager 14 detects the user operation end input (step 114) and ends the operation of the application 12 (step 115). By the data perpetuation process, the application data is stored in the storage 13 (step 116).

その後、ユーザ操作によってアプリケーション12の再開の指示が入力されると(ステップ117)、ストレージ13からアプリケーションデータが復元され(ステップ118)、アプリケーション12は、先にステップ115で終了した状態から動作を再開し、ウェブサイト90からの情報取得などを実行する(ステップ119)。アプリケーション12は、次にユーザ操作終了(ステップ120)が入力するまで、実行を継続する。   Thereafter, when an instruction to restart the application 12 is input by a user operation (step 117), the application data is restored from the storage 13 (step 118), and the application 12 resumes its operation from the state previously ended in step 115. Then, information acquisition from the website 90 is executed (step 119). The application 12 continues execution until the next user operation end (step 120) is input.

しかしながら、タスクマネージャ14によりアプリケーション12を完全に終了させた場合には、バックグラウンド処理がなされないので消費電力を削減することはできるものの、アプリケーション12の再開時に最新情報がアプリケーション12に与えられていない。そのため、アプリケーション12を停止していた期間に発生した情報のすべてをウェブサイト90から取得し、取得したデータに対する処理を一括して行わなければならなくなり、それらのための接続時間やデータ処理時間が長くなり、その結果、モバイルアプリケーション特有の速度感が失われ、特に、最新データの表示までに時間がかかるようになる、という問題が生じる。   However, when the application 12 is completely terminated by the task manager 14, background processing is not performed, so that power consumption can be reduced, but the latest information is not given to the application 12 when the application 12 is restarted. . For this reason, all of the information generated during the period when the application 12 was stopped must be acquired from the website 90, and the processing for the acquired data must be performed in a lump. As a result, the speed feeling peculiar to the mobile application is lost, and in particular, it takes time to display the latest data.

金子 寛人、「スマホ&携帯の電池切れ対策」、日経パソコン、2011年7月11日号、62〜69頁Hiroto Kaneko, “Measures against running out of battery for smartphones and mobile phones”, Nikkei PC, July 11, 2011, 62-69

モバイル端末においては、アプリケーションのバックグラウンド処理を実行させると、その分、電池消費が加速し、また、フロントエンドで実行しているアプリケーションの処理速度の低下などの問題が生じる。その一方で、タスクマネージャなどにより、バックグラウンド処理を実行させずにアプリケーションを停止した場合には、アプリケーションの再開時に大量の処理を実行しなければならないので、そのアプリケーション特有の速度感が失われる、という問題を生じる。   In a mobile terminal, when background processing of an application is executed, battery consumption is accelerated correspondingly, and problems such as a decrease in processing speed of an application running on the front end occur. On the other hand, if the application is stopped without executing the background processing by the task manager or the like, a large amount of processing must be executed when the application is restarted. This causes a problem.

本発明の目的は、アプリケーション自体を改変することなく、モバイル端末における電池消費を削減し、しかもアプリケーションの処理の高速化を達成することができるアプリケーション実行装置、システム及びプログラムを提供することにある。   An object of the present invention is to provide an application execution device, system, and program that can reduce battery consumption in a mobile terminal and achieve high-speed processing of an application without modifying the application itself.

本発明の第1のアプリケーション実行装置は、モバイルOS上で動作可能なアプリケーションを実行するアプリケーション実行装置において、アプリケーションの状態制御を行い、アプリケーションの実行時のメモリ状態とステータス情報とを示すアプリケーションデータを他のアプリケーション実行装置との間で共有し、アプリケーションの操作終了が入力されたときに、アプリケーション実行装置でのアプリケーションを終了して他のアプリケーション実行装置に対して共有されたアプリケーションデータに基づいてアプリケーションの実行を継続させ、アプリケーションの操作開始が入力されたときに、共有されているアプリケーションデータに基づいてアプリケーションを起動する連携機能手段を備えることを特徴とする。   A first application execution device of the present invention performs application state control in an application execution device that executes an application operable on a mobile OS, and stores application data indicating a memory state and status information when the application is executed. An application based on application data that is shared with other application execution devices and ends the application on the application execution device and shared with the other application execution devices when an application operation end is input. Is provided, and a cooperation function unit that starts the application based on the shared application data when an operation start of the application is input is provided.

本発明の第2のアプリケーション実行装置は、モバイルOS上で動作可能なアプリケーションを仮想実行するアプリケーション実行装置において、アプリケーションの状態制御を行い、アプリケーションの実行時のメモリ状態とステータス情報とを示すアプリケーションデータを他のアプリケーション実行装置との間で共有し、他のアプリケーション実行装置からの第1の通知があったときに共有されたアプリケーションデータに基づいてアプリケーションを起動し、他のアプリケーション実行装置からの第2の通知があったときにアプリケーションの実行を終了する連携機能手段を備えることを特徴とする。   The second application execution device of the present invention is an application execution device that virtually executes an application operable on the mobile OS, performs application state control, and indicates application data indicating a memory state and status information when the application is executed. Is shared with other application execution devices, the application is started based on the shared application data when there is a first notification from the other application execution devices, and the It is characterized by having a cooperation function means for ending the execution of the application when the notification of 2 is received.

本発明のアプリケーション実行システムは、モバイルOS上で動作可能なアプリケーションを実行する第1の処理装置と、第2の処理装置とがネットワークを介して接続したアプリケーション実行システムにおいて、第1の処理装置は、第1の処理装置でのアプリケーションの状態制御を行い、アプリケーションの実行時のメモリ状態とステータス情報とを示すアプリケーションデータを第2の処理装置との間で共有し、アプリケーションの操作終了が入力されたときに、第1の処理装置でのアプリケーションを終了して第2の処理装置に対して第1の通知を送信し、アプリケーションの操作開始が入力されたときに、第2の処理装置に対して第2の通知を送信するとともに共有されているアプリケーションデータに基づいて第1の処理装置においてアプリケーションを起動する第1の連携機能手段を備え、第2の処理装置は、第2の処理装置でのアプリケーションの仮想実行に関する状態制御を行い、アプリケーションデータを第1の処理装置との間で共有し、第1の処理装置から第1の通知があったときに、共有されたアプリケーションデータに基づいて第2の処理装置においてアプリケーションを起動し、第1の処理装置から第2の通知があったときに第2の処理装置におけるアプリケーションの実行を終了する第2の連携機能手段を備えることを特徴とする。   An application execution system according to the present invention is an application execution system in which a first processing apparatus that executes an application operable on a mobile OS and a second processing apparatus are connected via a network. The application state is controlled in the first processing device, the application data indicating the memory state and status information at the time of execution of the application is shared with the second processing device, and the operation end of the application is input The first processing device is terminated, the first notification is transmitted to the second processing device, and when the application operation start is input, the second processing device is The first processing device based on the shared application data and transmitting the second notification The second processing device performs state control relating to virtual execution of the application in the second processing device, and transfers application data to and from the first processing device. And when the first notification is received from the first processing device, the application is started in the second processing device based on the shared application data, and the second notification is received from the first processing device. And a second link function means for ending the execution of the application in the second processing apparatus when there is a second link.

本発明では、上記の構成を採用し、アプリケーション実行装置と他のアプリケーション実行装置との間で、あるいはモバイル端末とサーバとの間でアプリケーションデータを共有できるようにすることにより、アプリケーションを改変することなく、アプリケーションのバックグラウンド処理の実行をサーバ側にシームレスに移行でき、モバイル端末側での電池消費を削減することができる。特に、バックグラウンド処理がポーリング通信などのデータの有無によらずに通信を行うような処理の場合に、モバイル端末の電池消費を大きく削減することができる。また本発明によれば、モバイル端末でのアプリケーションの再起動を、バックグラウンドアプリケーションでの動作と同程度に高速に行えるようになるようになる。   In the present invention, the application is modified by adopting the above configuration and enabling application data to be shared between the application execution device and another application execution device or between the mobile terminal and the server. In addition, the background processing of the application can be seamlessly shifted to the server side, and battery consumption on the mobile terminal side can be reduced. In particular, when background processing is processing such as polling communication that performs communication regardless of the presence or absence of data, battery consumption of the mobile terminal can be greatly reduced. Further, according to the present invention, the restart of the application on the mobile terminal can be performed at the same speed as the operation in the background application.

本発明の実施の一形態のアプリケーション実行方法が適用されるシステムの全体構成の一例を示すブロック図である。It is a block diagram which shows an example of the whole structure of the system with which the application execution method of one Embodiment of this invention is applied. (a)はモバイル端末の論理構成を示すブロック図であり、(b)はサーバ上に実装される仮想モバイル端末の論理構成を示すブロック図である。(A) is a block diagram showing a logical configuration of a mobile terminal, and (b) is a block diagram showing a logical configuration of a virtual mobile terminal mounted on a server. モバイル端末から仮想モバイル端末へのアプリケーション実行のシームレスな移行を説明する図である。It is a figure explaining the seamless transfer of application execution from a mobile terminal to a virtual mobile terminal. モバイル端末から仮想モバイル端末へのアプリケーション実行のシームレスな移行の処理を説明するシーケンス図である。It is a sequence diagram explaining the process of seamless transfer of application execution from a mobile terminal to a virtual mobile terminal. 仮想モバイル端末からモバイル端末へのアプリケーション実行のシームレスな移行を説明する図である。It is a figure explaining the seamless transfer of application execution from a virtual mobile terminal to a mobile terminal. 仮想モバイル端末からモバイル端末へのアプリケーション実行のシームレスな移行の処理を説明するシーケンス図である。It is a sequence diagram explaining the process of seamless transfer of application execution from a virtual mobile terminal to a mobile terminal. モバイル端末及び仮想モバイル端末の実装例を説明する図である。It is a figure explaining the example of mounting of a mobile terminal and a virtual mobile terminal. 課金モデルの一例を示す図である。It is a figure which shows an example of an accounting model. モバイル端末におけるアプリケーションのバックグラウンド処理を示すシーケンス図である。It is a sequence diagram which shows the background process of the application in a mobile terminal. タスクマネージャを備えるモバイル端末におけるアプリケーション実行を示すシーケンス図である。It is a sequence diagram which shows application execution in a mobile terminal provided with a task manager.

次に、本発明の実施の形態について、図面を参照して説明する。   Next, embodiments of the present invention will be described with reference to the drawings.

図1は、本発明の実施の一形態のアプリケーション実行方法が適用されるシステムの全体構成を示している。ネットワーク10に対し、複数のモバイル端末11が接続している。各モバイル端末11は、二次電池で駆動され無線によってネットワーク10に接続する物理的な実体を有するデバイスである。ネットワーク10には、データセンタなどに配置されたサーバ20とウェブサイト90なども接続している。サーバ20には、仮想実行環境として複数の仮想モバイル端末21が、モバイル端末11と例えば1対1の関係になるように構築されている。ここでのサーバ20は、例えば、クラウド基盤上のものとして構成することができる。本実施形態では、モバイル端末11におけるアプリケーション(AP)のバックグラウンド処理を、サーバ20上の仮想モバイル端末21との間でシームレスに実行し、さらに、モバイル端末11と仮想モバイル端末21との間でのデータ共有の仕組みを構築することによって、モバイル端末11でのバックグラウンド処理の実行を抑制してモバイル端末11の電池消費を低減する。また、バックグラウンド処理自体は仮想モバイル端末21で実行しておりその結果をデータ共有によってモバイル端末11において利用可能とするので、モバイル端末11でのアプリケーション実行再開時に直ちに最新のデータを利用できるようになって、アプリケーションの処理速度が向上し、アプリケーションの高速起動が可能になる。   FIG. 1 shows the overall configuration of a system to which an application execution method according to an embodiment of the present invention is applied. A plurality of mobile terminals 11 are connected to the network 10. Each mobile terminal 11 is a device having a physical entity that is driven by a secondary battery and connected to the network 10 wirelessly. The network 10 is also connected to a server 20 and a website 90 arranged in a data center or the like. In the server 20, a plurality of virtual mobile terminals 21 are constructed as a virtual execution environment so as to have a one-to-one relationship with the mobile terminals 11, for example. The server 20 here can be configured as, for example, on a cloud platform. In the present embodiment, the application (AP) background processing in the mobile terminal 11 is executed seamlessly with the virtual mobile terminal 21 on the server 20, and further between the mobile terminal 11 and the virtual mobile terminal 21. By constructing the data sharing mechanism, the background processing on the mobile terminal 11 is suppressed and the battery consumption of the mobile terminal 11 is reduced. Further, since the background processing itself is executed by the virtual mobile terminal 21 and the result is made available to the mobile terminal 11 by data sharing, the latest data can be used immediately when the application execution on the mobile terminal 11 is resumed. As a result, the processing speed of the application is improved and the application can be started at high speed.

図2(a)はモバイル端末11の論理構成の一例を示している。モバイル端末11は、モバイルOS(不図示)によって制御されるものであり、モバイルOS上で動作するアプリケーション12が実装されている。また、モバイル端末11と仮想モバイル端末21との間でバックグラウンド処理をシームレスに実行しデータ共有を実現するための連携機能15が、アプリケーション12からは独立したプログラムとしてモバイル端末11に実装されている。モバイル端末11には、モバイルOSによって制御される記憶装置として、フラッシュメモリなどのメモリカードなどからなるストレージ(記憶装置)13も設けられている。ストレージ13は、モバイルOSでのファイルシステムが構築されるものであってもよいし、他の形態でデータ等を格納するものであってもよい。   FIG. 2A shows an example of the logical configuration of the mobile terminal 11. The mobile terminal 11 is controlled by a mobile OS (not shown), and an application 12 that operates on the mobile OS is installed. In addition, a cooperation function 15 for seamlessly executing background processing between the mobile terminal 11 and the virtual mobile terminal 21 to realize data sharing is implemented in the mobile terminal 11 as a program independent of the application 12. . The mobile terminal 11 is also provided with a storage (storage device) 13 including a memory card such as a flash memory as a storage device controlled by the mobile OS. The storage 13 may be one in which a file system in the mobile OS is constructed, or one that stores data or the like in another form.

ここで連携機能15について説明する。連携機能15は、例えば、モバイルOSにおけるライブラリの1つとして実現できるものであり、図10に示したモバイル端末におけるタスクマネージャの機能を拡張したものである。連携機能15は、(1)アプリケーション12の動作状況がフロントエンド動作なのかバックグラウンド動作なのかあるいは終了動作なのかを把握する機能と、(2)アプリケーション12に対して起動及び終了を指示するアプリケーション状態制御機能と、(3)アプリケーション12の永続化処理のためにアプリケーションデータを取得する機能と、(4)モバイル端末11と仮想モバイル端末21との間でのデータ共有あるいはデータ同期を実際に実行するストレージ共有機能16と、(5)永続化処理のためにアプリケーションデータをストレージ13に書き込むデータ反映機能と、を備えている。これらの機能は、連携機能15の中においてそれぞれ機能ブロックとして実装されるものである。   Here, the cooperation function 15 will be described. The linkage function 15 can be realized as one of libraries in the mobile OS, for example, and is an extension of the task manager function in the mobile terminal shown in FIG. The linkage function 15 includes (1) a function for grasping whether the operation state of the application 12 is a front-end operation, a background operation, or an end operation, and (2) an application for instructing the application 12 to start and end A state control function, (3) a function of acquiring application data for the persistence processing of the application 12, and (4) data sharing or data synchronization between the mobile terminal 11 and the virtual mobile terminal 21 is actually executed. A storage sharing function 16 that performs the processing, and (5) a data reflection function that writes application data to the storage 13 for the persistence process. These functions are each implemented as a function block in the linkage function 15.

図2(b)はサーバ20において構築される仮想モバイル端末21の論理構成を示している。仮想モバイル端末21は、モバイル端末11と同等の機能を仮想実行環境の下で実現したものであり、モバイル端末11のモバイルOSと同等のOSによって制御され、このOS上で動作するアプリケーション22が実装されている。アプリケーション22は、モバイル端末11のアプリケーション12と同じもの(少なくともバックグラウンド処理に関して同一の処理を実行するもの)である。また、仮想モバイル端末21には、モバイル端末11の連携機能15と連携してモバイル端末11と仮想モバイル端末21との間でバックグラウンド処理をシームレスに実行しデータ共有を実現するための連携機能25が、アプリケーション22からは独立したプログラムとして実装されている。連携機能25の内部には、モバイル端末11と仮想モバイル端末21との間でのデータ同期あるいはデータ共有を実際に実行するストレージ共有機能26も含んでいる。ストレージ23は、仮想モバイル端末21におけるアプリケーションデータを含むデータを格納するためのものであり、仮想モバイル端末21におけるOSでのファイルシステムが構築されるものであってもよいし、他の形態でデータ等を格納するものであってもよい。ストレージ23は、実装形態としては、例えば、サーバ20に設けられたHDD(ハードディスク装置)内の記憶領域として確保されるものである。   FIG. 2B shows a logical configuration of the virtual mobile terminal 21 constructed in the server 20. The virtual mobile terminal 21 implements functions equivalent to the mobile terminal 11 under a virtual execution environment, and is controlled by an OS equivalent to the mobile OS of the mobile terminal 11, and an application 22 that runs on this OS is installed. Has been. The application 22 is the same as the application 12 of the mobile terminal 11 (at least executes the same process regarding the background process). In addition, the virtual mobile terminal 21 cooperates with the cooperation function 15 of the mobile terminal 11 to seamlessly execute background processing between the mobile terminal 11 and the virtual mobile terminal 21 to realize data sharing 25. However, it is implemented as a program independent of the application 22. The linkage function 25 also includes a storage sharing function 26 that actually executes data synchronization or data sharing between the mobile terminal 11 and the virtual mobile terminal 21. The storage 23 is for storing data including application data in the virtual mobile terminal 21, and a file system in the OS in the virtual mobile terminal 21 may be constructed, or data in other forms Etc. may be stored. For example, the storage 23 is secured as a storage area in an HDD (hard disk device) provided in the server 20.

連携機能25は、連携機能15と同様のものであるが、アプリケーションのバックグラウンド処理のみを行う仮想モバイル端末21に実装されるものであるから、アプリリケーションのフロントエンド動作に関連する機能は含んでいなくてよい。   The linkage function 25 is the same as the linkage function 15 but is implemented in the virtual mobile terminal 21 that performs only background processing of the application, and thus includes functions related to the front-end operation of the application. You don't have to.

次に、本実施形態におけるアプリケーションの実行の動作について、図3〜図6を用いて説明する。ここでは、アプリケーション12,22は、いずれも、連携機能15,25から終了を指示された場合にストレージ13,23に対してアプリケーションデータの書込みを行う永続化処理と、起動を指示された場合にストレージ13,23からアプリケーションデータを読出す復元処理を実行できるものであるとする。現在、モバイルOSの下で動作するアプリケーションでは、永続化処理及び復元処理の機能を備えているものは一般的である。ここでは、図9及び図10に示したものと同様に、ネットワークを介してウェブサイト90に接続してウェブサイト90から情報を取得し、処理を行い、処理結果を画面に表示するアプリケーションを例に挙げて説明する。   Next, the operation of executing the application in the present embodiment will be described with reference to FIGS. Here, the applications 12 and 22 are both in a case where a perpetuation process for writing application data to the storages 13 and 23 is instructed from the cooperation functions 15 and 25 and a start-up is instructed. It is assumed that a restoration process for reading application data from the storages 13 and 23 can be executed. Currently, an application operating under a mobile OS is generally provided with a persistence processing and restoration processing function. Here, as shown in FIG. 9 and FIG. 10, an example is an application that connects to the website 90 via the network, acquires information from the website 90, performs processing, and displays the processing result on the screen. Will be described.

まず、図3及び図4により、モバイル端末11からサーバ20上の仮想モバイル端末21へのアプリケーション実行のシームレスな移行について説明する。ここでは、モバイル端末11でのアプリケーションのバックグラウンド処理動作をサーバ20側で実行させることにより、モバイル端末11での電池消費を低減する。   First, a seamless transition of application execution from the mobile terminal 11 to the virtual mobile terminal 21 on the server 20 will be described with reference to FIGS. 3 and 4. Here, the background processing operation of the application in the mobile terminal 11 is executed on the server 20 side, thereby reducing the battery consumption in the mobile terminal 11.

モバイル端末11に対するユーザ操作(図4のステップ131)によってアプリケーション12が起動し、アプリケーション12は、フロントエンドジョブとして実行され、ウェブサイト90にアクセスして情報を取得し、処理結果をモバイル端末11の画面に表示する。ユーザはこのアプリケーション12を利用することができる(ステップ132)。ユーザ操作終了が入力すると(ステップ133)、連携機能25がユーザ操作終了の入力を検知し(ステップ134)、図3の[1]に示すようにアプリケーション12の動作を終了させる(ステップ135)。図3の[2]に示すように、連携機能15はデータ永続化処理を実行し、アプリケーションデータがストレージ13に保存される(ステップ136)。ここでストレージ13に保存されたアプリケーションデータを考えると、このアプリケーションデータをモバイル端末11とは異なる処理装置の記憶装置に転送し、その処理装置においてその記憶装置からアプリケーションデータの復元処理を行い、復元したアプリケーションデータに基づいてアプリケーション12と同じ処理を実行したとすると、結局は、アプリケーション12の実行がモバイル端末11からそのモバイル端末11とは異なる処理装置にマイグレーションされたことになる。この実施形態では、モバイル端末11とは異なる処理装置がサーバ20上の仮想モバイル端末21であるとして、仮想モバイル端末21に対してアプリケーション12のマイグレーションを行う。   The application 12 is activated by a user operation on the mobile terminal 11 (step 131 in FIG. 4). The application 12 is executed as a front-end job, accesses the website 90 to acquire information, and obtains the processing result of the mobile terminal 11. Display on the screen. The user can use this application 12 (step 132). When the user operation end is input (step 133), the linkage function 25 detects the user operation end input (step 134), and ends the operation of the application 12 as indicated by [1] in FIG. 3 (step 135). As shown in [2] of FIG. 3, the cooperation function 15 executes data perpetuation processing, and application data is stored in the storage 13 (step 136). Here, considering the application data stored in the storage 13, the application data is transferred to a storage device of a processing device different from the mobile terminal 11, and the processing data is restored from the storage device in the processing device. Assuming that the same processing as that of the application 12 is executed based on the application data, the execution of the application 12 is eventually migrated from the mobile terminal 11 to a processing device different from the mobile terminal 11. In this embodiment, assuming that the processing device different from the mobile terminal 11 is the virtual mobile terminal 21 on the server 20, the application 12 is migrated to the virtual mobile terminal 21.

このマイグレーションのために、モバイル端末11の連携機能15は、ストレージ13に保存されたアプリケーションデータを取得し(ステップ137)、ネットワーク10を介して、サーバ20上の仮想モバイル端末21の連携機能25に対してアプリケーションデータを通知する(ステップ138)。これを受けて仮想モバイル端末21の連携機能25は、受け取ったアプリケーションデータをストレージ23に反映する(ステップ139)。これにより、図3の[2’]に示すように、モバイル端末11と仮想モバイル端末21との間でアプリケーションデータに関しストレージ13,23に格納されている情報が同期し、モバイル端末11と仮想モバイル端末21とはアプリケーションデータを情報として共有することになる。また、ステップ138でのアプリケーションデータの通知は、仮想モバイル端末21に対し、そのアプリケーションデータに基づいてアプリケーション22を起動することを指示するを意味する(図3の[3])。そこで連携機能25は、図3の[4]に示すようにアプリケーション22を起動し(ステップ140)、アプリケーション22はストレージ23からアプリケーションデータを復元して(ステップ141)、実行を開始する(ステップ142)。ここでアプリケーション22は、アプリケーション12でのバックグラウンド処理と同じ処理を実行し、ウェブサイト90からの情報取得を継続して実行する。   For this migration, the cooperation function 15 of the mobile terminal 11 acquires the application data stored in the storage 13 (step 137), and transmits the application data to the cooperation function 25 of the virtual mobile terminal 21 on the server 20 via the network 10. Then, the application data is notified (step 138). In response to this, the cooperation function 25 of the virtual mobile terminal 21 reflects the received application data in the storage 23 (step 139). As a result, as shown in [2 ′] in FIG. 3, the information stored in the storages 13 and 23 regarding the application data is synchronized between the mobile terminal 11 and the virtual mobile terminal 21, and the mobile terminal 11 and the virtual mobile terminal are synchronized. The terminal 21 shares application data as information. The notification of application data in step 138 means that the virtual mobile terminal 21 is instructed to start the application 22 based on the application data ([3] in FIG. 3). Therefore, the cooperation function 25 activates the application 22 as shown in [4] of FIG. 3 (step 140), the application 22 restores application data from the storage 23 (step 141), and starts execution (step 142). ). Here, the application 22 executes the same process as the background process in the application 12 and continues to acquire information from the website 90.

以上の処理により、モバイル端末11から仮想モバイル端末21へのアプリケーションのマイグレーションが実現したことになる。ここでは、モバイル端末11側でアプリケーション12が終了した時の実行結果とそのときのメモリイメージとを表しているアプリケーションデータについて、モバイル端末11のストレージ13と仮想モバイル端末21のストレージ23間で同期させ、その後、仮想モバイル端末21においてアプリケーションデータの復元処理を行い、アプリケーション22を起動している。言い換えれば、アプリケーションのプログラムコード自体はマイグレーションの対象とはなっていない。モバイル端末11でのアプリケーション終了時のメモリ状態が仮想モバイル端末21で復元されるので、仮想モバイル端末21ではアプリケーションの継続動作が可能となる。   With the above processing, application migration from the mobile terminal 11 to the virtual mobile terminal 21 is realized. Here, the application data representing the execution result when the application 12 ends on the mobile terminal 11 side and the memory image at that time are synchronized between the storage 13 of the mobile terminal 11 and the storage 23 of the virtual mobile terminal 21. Thereafter, the application data is restored in the virtual mobile terminal 21 and the application 22 is activated. In other words, the application program code itself is not subject to migration. Since the memory state at the end of the application in the mobile terminal 11 is restored in the virtual mobile terminal 21, the virtual mobile terminal 21 can continue the operation of the application.

次に、図5及び図6を用いて、上述のように仮想モバイル端末21においてアプリケーション22が実行されているとして、モバイル端末11においてアプリケーション11を再度起動した場合の処理を説明する。この場合、アプリケーション実行が仮想モバイル端末21からモバイル端末11にシームレスに移行する。   Next, using FIG. 5 and FIG. 6, a process when the application 11 is restarted in the mobile terminal 11 will be described assuming that the application 22 is executed in the virtual mobile terminal 21 as described above. In this case, application execution seamlessly transitions from the virtual mobile terminal 21 to the mobile terminal 11.

図4のステップ142に示すように、仮想モバイル端末21上でアプリケーション22がウェブサイト90から情報を取得する処理を実行しているものとする。ここで、図5の[1]に示すようにユーザ操作によりアプリケーション起動の指示がモバイル端末11に入力されると(図6のステップ151)、モバイル端末11の連携機能15はこのユーザ操作の開始を検知し(ステップ152)、仮想モバイル端末22の連携機能25に対してアプリケーションデータを要求する(ステップ153)。このアプリケーションデータの要求は、図5の[2]に示すように、仮想モバイル端末21に対するアプリケーションの終了指示でもある。その結果、仮想モバイル端末21の連携機能25は、アプリケーション22の動作を終了させる(ステップ154)。図5の[3]に示すように、連携機能25はデータ永続化処理を実行し、アプリケーションデータがストレージ23に保存される(ステップ155)。次に、連携機能25は、ストレージ23に保存されたアプリケーションデータを取得し(ステップ156)、ネットワーク10を介して、モバイル端末11の連携機能15に対してアプリケーションデータを通知する(ステップ157)。これを受けてモバイル端末11の連携機能15は、受け取ったアプリケーションデータをストレージ13に反映する(ステップ158)。これにより、図5の[3’]に示すように、仮想モバイル端末21とモバイル端末11との間でアプリケーションデータに関しストレージ23,13に格納されている情報が同期し、仮想モバイル端末21とモバイル端末11とはアプリケーションデータを情報として共有することになる。情報が同期されたのち、連携機能15は、図5の[4]に示すようにアプリケーション12を起動し(ステップ159)、アプリケーション12はストレージ13からアプリケーションデータを復元する(ステップ160)。以上の処理によって、仮想モバイル端末21からモバイル端末11へのアプリケーションのマイグレーションが実現したことになる。この段階では、モバイル端末11上においてアプリケーション12はフロントエンドでは動作してはいない。次に、ユーザ操作が入力すると(ステップ161)、アプリケーション12はフロントエンドでの動作を開始し、ウェブサイト90からの情報取得を行って、ユーザによるアプリケーション利用を可能にする(ステップ162)。この状態は、次にユーザ操作終了(ステップ163)が入力するまで継続する。   As shown in step 142 in FIG. 4, it is assumed that the application 22 is executing a process of acquiring information from the website 90 on the virtual mobile terminal 21. Here, as shown in [1] in FIG. 5, when an application activation instruction is input to the mobile terminal 11 by a user operation (step 151 in FIG. 6), the cooperation function 15 of the mobile terminal 11 starts this user operation. Is detected (step 152), and application data is requested to the cooperation function 25 of the virtual mobile terminal 22 (step 153). This application data request is also an application termination instruction to the virtual mobile terminal 21 as shown in [2] of FIG. As a result, the cooperation function 25 of the virtual mobile terminal 21 ends the operation of the application 22 (step 154). As shown in [3] of FIG. 5, the cooperation function 25 executes data perpetuation processing, and application data is stored in the storage 23 (step 155). Next, the cooperation function 25 acquires application data stored in the storage 23 (step 156), and notifies the application data to the cooperation function 15 of the mobile terminal 11 via the network 10 (step 157). In response to this, the cooperation function 15 of the mobile terminal 11 reflects the received application data in the storage 13 (step 158). As a result, as shown in [3 ′] in FIG. 5, the information stored in the storages 23 and 13 regarding the application data is synchronized between the virtual mobile terminal 21 and the mobile terminal 11, and the virtual mobile terminal 21 and the mobile The terminal 11 shares application data as information. After the information is synchronized, the cooperation function 15 activates the application 12 as shown in [4] of FIG. 5 (step 159), and the application 12 restores the application data from the storage 13 (step 160). With the above processing, application migration from the virtual mobile terminal 21 to the mobile terminal 11 is realized. At this stage, the application 12 is not running on the front end on the mobile terminal 11. Next, when a user operation is input (step 161), the application 12 starts operation at the front end, acquires information from the website 90, and enables the user to use the application (step 162). This state continues until the next user operation end (step 163) is input.

図5及び図6に示した処理においても、アプリケーションのプログラムコード自体はマイグレーションの対象とはなっておらず、アプリケーションデータについて、仮想モバイル端末21のストレージ23とモバイル端末11のストレージ13間で同期させ、その後、モバイル端末11においてアプリケーションデータの復元処理を行い、アプリケーション12を起動している。この場合も、モバイル端末11でのアプリケーションの継続動作が可能となっている。   In the processing shown in FIGS. 5 and 6, the application program code itself is not subject to migration, and the application data is synchronized between the storage 23 of the virtual mobile terminal 21 and the storage 13 of the mobile terminal 11. Thereafter, the application data is restored in the mobile terminal 11 and the application 12 is activated. Also in this case, the operation of the application on the mobile terminal 11 can be continued.

次に、本実施形態でのストレージ13,23でのデータ同期、データ共有の機構について説明する。上述した説明から明らかなように、モバイル端末11と仮想モバイル端末21との間でアプリケーション実行をシームレスに移行するためには、一方の端末においてアプリケーションの動作を終了させて永続化処理を行い、そのときのアプリケーションデータを他方の端末のストレージに転送して他方の端末において復元処理を行えばよい。しかしながら、アプリケーションの実行をモバイル端末11と仮想モバイル端末21との間で切り替えるたびに、その時点でのアプリケーションデータの全体を相手方の端末に転送するのは、アプリケーションデータのサイズが大きい場合には効率が悪く、アプリケーションの高速起動の妨げともなり得る。ユーザにとってはモバイル端末11でのアプリケーション起動の速度感が重要であるから、特に、仮想モバイル端末21からモバイル端末11へのアプリケーションデータ通知の効率化、高速化が望まれる。   Next, a data synchronization and data sharing mechanism in the storages 13 and 23 in this embodiment will be described. As is clear from the above description, in order to seamlessly transfer the application execution between the mobile terminal 11 and the virtual mobile terminal 21, the operation of the application is terminated on one terminal and the persistence process is performed. The application data at the time may be transferred to the storage of the other terminal and the restoration process may be performed at the other terminal. However, each time the execution of the application is switched between the mobile terminal 11 and the virtual mobile terminal 21, the entire application data at that time is transferred to the partner terminal when the size of the application data is large. It can be a hindrance to fast startup of applications. Since the speed of application activation on the mobile terminal 11 is important for the user, in particular, it is desired to increase the efficiency and speed of application data notification from the virtual mobile terminal 21 to the mobile terminal 11.

そこで、アプリケーションデータの全体を1回で送信することを避けて処理の効率化を図るために、例えば、アプリケーションデータをファイルに格納してそのファイル自体をモバイル端末11と仮想モバイル端末21との間で共有することが考えられる。その場合、共有対象のファイルをファイルシステムとして、モバイル端末11では連携機能15内のストレージ共有機能16にマウントポイントを設け、仮想モバイル端末21では連携機能25内のストレージ共有機能26にマウントポイントを設け、それらのマウントポイントに共有対象のファイルをマウントしてしまえばよい。具体的な実装としては、モバイル端末11やサーバ20とは別個に設けられたネットワークストレージをモバイル端末11のモバイルOSと仮想モバイル端末21のOSとがマウントするものや、仮想モバイル端末21のストレージ23をモバイル端末11のストレージ共有機能16内にマウントするものがある。仮想モバイル端末21のストレージ23をモバイル端末11にマウントする場合には、モバイル端末11側にキャッシュ機能を持たせるようにしてもよい。   Therefore, in order to avoid the transmission of the entire application data at a time and improve the processing efficiency, for example, the application data is stored in a file and the file itself is transferred between the mobile terminal 11 and the virtual mobile terminal 21. It is possible to share with. In this case, the file to be shared is used as a file system, the mobile terminal 11 provides a mount point for the storage sharing function 16 in the cooperation function 15, and the virtual mobile terminal 21 provides a mount point for the storage sharing function 26 in the cooperation function 25. Mount the file to be shared on those mount points. As a specific implementation, the network storage provided separately from the mobile terminal 11 and the server 20 is mounted by the mobile OS of the mobile terminal 11 and the OS of the virtual mobile terminal 21, or the storage 23 of the virtual mobile terminal 21. Is mounted in the storage sharing function 16 of the mobile terminal 11. When the storage 23 of the virtual mobile terminal 21 is mounted on the mobile terminal 11, the mobile terminal 11 may have a cache function.

あるいは、モバイル端末11のストレージ13に格納されているアプリケーションデータと仮想モバイル端末21のストレージ23に格納されているアプリケーションデータとの差分情報あるいは更新情報のみをモバイル端末11と仮想モバイル端末21との間で共有することで、アプリケーションデータの全体を1回で送信することを避けて処理の効率化を図ることができる。共有の形態としては、例えば、差分情報あるいは更新情報をモバイル端末11と仮想モバイル端末21との間で転送することが考えられる。この場合、モバイル端末11でのアプリケーション12の起動時にすべての差分情報を送信すると処理が遅くなる恐れがあるので、仮想モバイル端末21においてアプリケーション22が動作している期間中に適度なタイミングで差分情報あるいは更新情報をモバイル端末11に送信し、この送信の都度、モバイル端末11においてストレージ13内のアプリケーションデータを更新するようにしてもよい。本実施形態では、データ共有を実現する連携機能15,25によって差分情報や更新情報の送信やそれに基づくデータ更新を実行するので、モバイル端末11においてアプリケーション12が動作していなくても、アプリケーションデータの更新が可能になる。アプリケーションが対象とするデータのフォーマット(例えば、テキストデータなのか、データベースのデータなのか、静止画像データなのか、動画像データなのか)に応じて、差分情報や更新情報の構成を最適化することによって、差分情報などの送信に要する時間を短縮でき、アプリケーションのより高速な起動と処理とを可能にする。また、アプリケーションデータの差分情報や更新情報の共有の形態としては、上述したファイルシステムを用い、そのファイルシステムに実装されたファイルに差分情報あるいは更新情報を格納し、このファイルをモバイル端末11と仮想モバイル端末21が共有するという形態もある。ファイル共有による形態によれば、差分情報などをモバイル端末11と仮想モバイル端末21との間で実際に転送しなくてよくなるので、差分情報などのファイルサイズが大きい場合に処理の効率化を図ることができる。   Alternatively, only difference information or update information between application data stored in the storage 13 of the mobile terminal 11 and application data stored in the storage 23 of the virtual mobile terminal 21 is transferred between the mobile terminal 11 and the virtual mobile terminal 21. By sharing the data, the efficiency of processing can be improved by avoiding transmitting the entire application data at a time. As a form of sharing, for example, it is conceivable to transfer difference information or update information between the mobile terminal 11 and the virtual mobile terminal 21. In this case, if all the difference information is transmitted when the application 12 is activated on the mobile terminal 11, the processing may be delayed. Therefore, the difference information is appropriately timed during the period in which the application 22 is operating on the virtual mobile terminal 21. Alternatively, the update information may be transmitted to the mobile terminal 11 and the application data in the storage 13 may be updated in the mobile terminal 11 each time this transmission is performed. In the present embodiment, difference information and update information are transmitted and data update based on the difference information and update information is performed by the cooperation functions 15 and 25 that realize data sharing. Therefore, even if the application 12 is not operating on the mobile terminal 11, the application data Updates are possible. Optimize the structure of difference information and update information according to the data format targeted by the application (for example, whether it is text data, database data, still image data, or moving image data) Therefore, it is possible to shorten the time required for transmitting the difference information and the like, and to enable faster start-up and processing of the application. In addition, as a form of sharing application data difference information and update information, the above-described file system is used, difference information or update information is stored in a file implemented in the file system, and this file is virtualized with the mobile terminal 11. There is also a form in which the mobile terminal 21 shares. According to the file sharing mode, difference information or the like does not have to be actually transferred between the mobile terminal 11 and the virtual mobile terminal 21, so that the processing efficiency is improved when the file size of the difference information or the like is large. Can do.

モバイル端末11は、一般に無線によってネットワーク10に接続しており、モバイル端末11の移動中にサーバ20との接続が遮断されるなどの可能性もある。その場合、モバイル端末11と仮想モバイル端末21との間のアプリケーションデータの共有が途中で失敗することになる。そのような場合に備え、終状態保持機能としてアプリケーションデータを一時保存するキャッシュメモリをモバイル端末11に設け、仮想モバイル端末21との間でのアプリケーションデータの共有に失敗したときに、キャッシュメモリに保持されているアプリケーションデータに基づいてアプリケーション12を起動するようにしてもよい。このように終状態保持機能を設けると、アプリケーションデータの共有に失敗した場合に、仮想モバイル端末21で実行されたバックグラウンド処理の結果は反映されないが、アプリケーションの動作は確保できる。このような構成は、最終ステータスが重要なアプリケーション(例えば、Twitter(登録商標)API(アプリケーション・プログラミング・インタフェース))の場合に有効である。   The mobile terminal 11 is generally connected to the network 10 by radio, and there is a possibility that the connection with the server 20 is interrupted while the mobile terminal 11 is moving. In that case, sharing of application data between the mobile terminal 11 and the virtual mobile terminal 21 fails in the middle. In preparation for such a case, the mobile terminal 11 is provided with a cache memory for temporarily storing application data as a final state holding function, and is held in the cache memory when application data sharing with the virtual mobile terminal 21 fails. The application 12 may be activated based on the application data that has been set. When the final state holding function is provided in this way, when the application data sharing fails, the result of the background process executed by the virtual mobile terminal 21 is not reflected, but the operation of the application can be ensured. Such a configuration is effective for an application in which the final status is important (for example, Twitter (registered trademark) API (application programming interface)).

図7は、モバイル端末11及び仮想モバイル端末21でのソフトウェア実装の一例を示している。モバイル端末11も仮想モバイル端末21も、ソフトウェア階層として、カーネルの上にライブラリがあり、ライブラリの上にミドルウェアがあり、最上位にActivityが位置している。モバイル端末11においてライブラリには、汎用のライブラリlibcと連携機能15が配置されている。カーネルには、ファイル関係の機能として、VFS(仮想ファイルシステム;Virtual File System)とLinux(登録商標)の1モジュールであるFuse(Filesystem in Userspace)が実装されている。アプリケーションであるActivityは、ファイルアクセスに際しては、ファイルAPIによりVFSにアクセスする。バックグラウンド処理を仮想モバイル端末21にシームレスに移行することをしない通常のアプリケーションの場合、そのアプリケーションからのストレージ13内のファイルへのアクセスは、VFSを用いて行われる。一方、連携機能15を利用する場合には、VFSからFuseを介して連携機能15にアクセスする。その結果、連携機能15を介して、モバイル端末11のストレージ13と仮想モバイル端末21のストレージ23との間で、アプリケーションデータの共有が可能になる。   FIG. 7 shows an example of software implementation in the mobile terminal 11 and the virtual mobile terminal 21. Both the mobile terminal 11 and the virtual mobile terminal 21 have a library on the kernel as a software hierarchy, middleware on the library, and Activity is located at the top. In the mobile terminal 11, a general-purpose library libc and a linkage function 15 are arranged in the library. In the kernel, Fuse (File system in Userspace), which is one module of VFS (Virtual File System) and Linux (registered trademark), is implemented as a file-related function. The activity, which is an application, accesses the VFS by the file API when accessing the file. In the case of a normal application that does not seamlessly transfer background processing to the virtual mobile terminal 21, access to a file in the storage 13 from the application is performed using VFS. On the other hand, when using the cooperation function 15, the cooperation function 15 is accessed from VFS via Fuse. As a result, application data can be shared between the storage 13 of the mobile terminal 11 and the storage 23 of the virtual mobile terminal 21 via the linkage function 15.

図8は、本実施形態のアプリケーション実行方法の適用の一例を説明する図である。本実施形態のアプリケーション実行方法は、モバイル端末向けのリソース貸出しサービスに適用することがある。従来もネットワーク上のデータストレージを提供して課金するサービスがあるが、ここで示すリソース貸出しサービスは、モバイル端末11での電池消費の節約を目的とする実行環境を提供する。したがって、課金モデルとしては、例えば、サーバ20上の仮想モバイル端末21でのバックグラウンド処理に係るCPU利用時間やそれに伴って節約されたモバイル端末11での電池節約量に応じた課金を行うものが考えられる。さらに、仮想モバイル端末21側でのストレージ利用量や、モバイル端末11と仮想モバイル端末21との間でのデータ転送量に応じた課金を行ってもよい。   FIG. 8 is a diagram illustrating an example of application of the application execution method of the present embodiment. The application execution method of this embodiment may be applied to a resource lending service for mobile terminals. Conventionally, there is a service for charging by providing data storage on a network, but the resource lending service shown here provides an execution environment for the purpose of saving battery consumption in the mobile terminal 11. Accordingly, as a charging model, for example, charging is performed in accordance with the CPU usage time related to the background processing in the virtual mobile terminal 21 on the server 20 and the battery saving amount in the mobile terminal 11 which is saved accordingly. Conceivable. Furthermore, charging may be performed according to the storage usage on the virtual mobile terminal 21 side and the data transfer amount between the mobile terminal 11 and the virtual mobile terminal 21.

以上、本発明の好ましい実施形態を説明したが、モバイル端末もサーバもハードウェアとしてはコンピュータそのものであるから、上述したモバイル端末及びサーバのいずれの機能もコンピュータ上でプログラムを実行させることによっても実現できる。   Although the preferred embodiments of the present invention have been described above, since both the mobile terminal and the server are computers themselves as hardware, any of the functions of the mobile terminal and the server described above can also be realized by executing a program on the computer. it can.

例えば、モバイル端末11は、ネットワークを介してサーバ20と接続し、アプリケーションを実行するコンピュータに、アプリケーションの状態制御を行う処理と、アプリケーションの実行時のメモリ状態とステータス情報とを示すアプリケーションデータをサーバ20との間で共有する処理と、アプリケーションの操作終了が入力されたときに、コンピュータでのアプリケーションを終了してサーバ20に対して、共有されたアプリケーションデータに基づいてアプリケーションの実行を継続させる処理と、アプリケーションの操作開始が入力されたときに、共有されているアプリケーションデータに基づいてアプリケーションを起動する処理と、を実行させるプログラムを読み込ませ、そのプログラムを実行させることによって実現できる。   For example, the mobile terminal 11 is connected to the server 20 via the network, and the application data indicating the process for controlling the application state, the memory state at the time of executing the application, and the status information is stored in the computer that executes the application. Processing to be shared with the computer 20 and processing to terminate the application on the computer and cause the server 20 to continue execution of the application based on the shared application data when the operation end of the application is input. And a process for starting an application based on shared application data when an operation start of the application is input, and by executing the program. That.

同様にサーバ20は、ネットワークを介してモバイル端末11と接続し、モバイル端末11において動作可能なアプリケーションを仮想実行するコンピュータに、仮想実行されるアプリケーションの状態制御を行う処理と、アプリケーションの実行時のメモリ状態とステータス情報とを示すアプリケーションデータをモバイル端末11との間で共有する処理と、モバイル端末11からの第1の通知があったときに、共有されたアプリケーションデータに基づいてアプリケーションを起動し、モバイル端末11からの第2の通知があったときにアプリケーションの実行を終了する処理と、を実行させるプログラムを読み込ませ、このプログラムを実行させることによって実現できる。ここで第1の通知及び第2通知は、モバイル端末11からコンピュータに対して送信されるイベントメッセージであり、例えば、第1の通知はアプリケーションの起動指示などであり、第2の通知はアプリケーションの終了指示などである。   Similarly, the server 20 is connected to the mobile terminal 11 via the network, and performs a process for controlling the state of the application that is virtually executed on the computer that virtually executes the application that can be operated on the mobile terminal 11, and When there is a process of sharing application data indicating the memory state and status information with the mobile terminal 11 and a first notification from the mobile terminal 11, the application is started based on the shared application data. This can be realized by reading a program that executes the process of terminating the execution of the application when the second notification is received from the mobile terminal 11 and executing the program. Here, the first notification and the second notification are event messages transmitted from the mobile terminal 11 to the computer. For example, the first notification is an application activation instruction, and the second notification is an application message. For example, an end instruction.

10 ネットワーク
11 モバイル端末
12,22 アプリケーション
13,23 ストレージ
14 タスクマネージャ
15,25 連携機能
16,26 ストレージ共有機能
20 サーバ
21 仮想モバイル端末
DESCRIPTION OF SYMBOLS 10 Network 11 Mobile terminal 12,22 Application 13,23 Storage 14 Task manager 15,25 Cooperation function 16,26 Storage sharing function 20 Server 21 Virtual mobile terminal

Claims (8)

モバイルOS上で動作可能なアプリケーションを実行するアプリケーション実行装置において、
前記アプリケーションの状態制御を行い、前記アプリケーションの実行時のメモリ状態とステータス情報とを示すアプリケーションデータを他のアプリケーション実行装置との間で共有し、前記アプリケーションの操作終了が入力されたときに、前記アプリケーション実行装置での前記アプリケーションを終了して前記他のアプリケーション実行装置に対して前記共有された前記アプリケーションデータに基づいて前記アプリケーションの実行を継続させ、前記アプリケーションの操作開始が入力されたときに、前記共有されているアプリケーションデータに基づいて前記アプリケーションを起動する連携機能手段を備えることを特徴とするアプリケーション実行装置。
In an application execution device that executes an application operable on a mobile OS,
When performing application state control, sharing application data indicating the memory state and status information at the time of execution of the application with other application execution devices, and when the operation end of the application is input, Ending the application on the application execution device and continuing execution of the application based on the shared application data to the other application execution device, and when an operation start of the application is input, An application execution apparatus comprising: a cooperation function unit that activates the application based on the shared application data.
モバイルOS上で動作可能なアプリケーションを仮想実行するアプリケーション実行装置において、
前記アプリケーションの状態制御を行い、前記アプリケーションの実行時のメモリ状態とステータス情報とを示すアプリケーションデータを他のアプリケーション実行装置との間で共有し、前記他のアプリケーション実行装置からの第1の通知があったときに前記共有された前記アプリケーションデータに基づいて前記アプリケーションを起動し、前記他のアプリケーション実行装置からの第2の通知があったときに前記アプリケーションの実行を終了する連携機能手段を備えることを特徴とするアプリケーション実行装置。
In an application execution device that virtually executes an application operable on a mobile OS,
Application state control is performed, application data indicating a memory state and status information at the time of execution of the application is shared with another application execution device, and a first notification from the other application execution device is received. And a linkage function unit that starts the application based on the shared application data when there is, and terminates the execution of the application when a second notification is received from the other application execution device. An application execution device.
モバイルOS上で動作可能なアプリケーションを実行する第1の処理装置と、第2の処理装置とがネットワークを介して接続したアプリケーション実行システムにおいて、
前記第1の処理装置は、前記第1の処理装置での前記アプリケーションの状態制御を行い、前記アプリケーションの実行時のメモリ状態とステータス情報とを示すアプリケーションデータを前記第2の処理装置との間で共有し、前記アプリケーションの操作終了が入力されたときに、前記第1の処理装置での前記アプリケーションを終了して前記第2の処理装置に対して第1の通知を送信し、前記アプリケーションの操作開始が入力されたときに、前記第2の処理装置に対して第2の通知を送信するとともに前記共有されているアプリケーションデータに基づいて前記第1の処理装置において前記アプリケーションを起動する第1の連携機能手段を備え、
前記第2の処理装置は、前記第2の処理装置での前記アプリケーションの仮想実行に関する状態制御を行い、前記アプリケーションデータを前記第1の処理装置との間で共有し、前記第1の処理装置から前記第1の通知があったときに、前記共有された前記アプリケーションデータに基づいて前記第2の処理装置において前記アプリケーションを起動し、前記第1の処理装置から前記第2の通知があったときに前記第2の処理装置における前記アプリケーションの実行を終了する第2の連携機能手段を備えることを特徴とするアプリケーション実行システム。
In an application execution system in which a first processing device that executes an application operable on a mobile OS and a second processing device are connected via a network.
The first processing device performs state control of the application in the first processing device, and provides application data indicating a memory state and status information when the application is executed to and from the second processing device. And when the end of the operation of the application is input, the application in the first processing device is terminated and a first notification is transmitted to the second processing device, and the application When an operation start is input, a first notification is transmitted to the second processing device and the application is started in the first processing device based on the shared application data. With the cooperation function means of
The second processing device performs state control regarding virtual execution of the application in the second processing device, shares the application data with the first processing device, and the first processing device. When the first notification is received, the application is started in the second processing device based on the shared application data, and the second notification is received from the first processing device. An application execution system characterized by comprising second linkage function means for sometimes terminating execution of the application in the second processing device.
ファイルシステムに実装されたファイルを前記第1の処理装置と前記第2の処理装置との間で共有し、前記ファイルに前記アプリケーションデータを格納することにより前記アプリケーションデータを前記第1の処理装置と前記第2の処理装置との間で共有する、請求項3に記載のアプリケーション実行システム。   A file implemented in a file system is shared between the first processing device and the second processing device, and the application data is stored in the file to store the application data with the first processing device. The application execution system according to claim 3, which is shared with the second processing apparatus. 前記アプリケーションデータにおける差分情報または更新情報を前記第1の処理装置と前記第2の処理装置との間で共有することにより前記アプリケーションデータを前記第1の処理装置と前記第2の処理装置との間で共有する、請求項3または4に記載のアプリケーション実行システム。   By sharing difference information or update information in the application data between the first processing device and the second processing device, the application data is exchanged between the first processing device and the second processing device. The application execution system according to claim 3, which is shared between the applications. 前記第1の処理装置は終状態を保持するキャッシュメモリを備え、前記第2の処理装置との間でのアプリケーションデータの共有に失敗したときに、前記キャッシュメモリに取得されたアプリケーションデータに基づいて前記アプリケーションを起動する、請求項3乃至5のいずれか1項に記載のアプリケーション実行システム。   The first processing device includes a cache memory that holds a final state, and when application data sharing with the second processing device fails, based on the application data acquired in the cache memory The application execution system according to claim 3, wherein the application is activated. ネットワークを介してサーバと接続し、アプリケーションを実行するコンピュータに、
前記アプリケーションの状態制御を行う処理と、
前記アプリケーションの実行時のメモリ状態とステータス情報とを示すアプリケーションデータを前記サーバとの間で共有する処理と、
前記アプリケーションの操作終了が入力されたときに、前記コンピュータでの前記アプリケーションを終了して前記サーバに対して前記共有された前記アプリケーションデータに基づいて前記アプリケーションの実行を継続させる処理と、
前記アプリケーションの操作開始が入力されたときに、前記共有されているアプリケーションデータに基づいて前記アプリケーションを起動する処理と、
を実行させるプログラム。
Connect to the server via the network and run the application on the computer
A process for controlling the state of the application;
Processing of sharing application data indicating the memory state and status information during execution of the application with the server;
A process of ending the application on the computer and continuing execution of the application based on the shared application data to the server when an operation end of the application is input;
A process of starting the application based on the shared application data when an operation start of the application is input;
A program that executes
ネットワークを介してモバイル端末と接続し、前記モバイル端末において動作可能なアプリケーションを仮想実行するコンピュータに、
前記仮想実行されるアプリケーションの状態制御を行う処理と、
前記アプリケーションの実行時のメモリ状態とステータス情報とを示すアプリケーションデータを前記モバイル端末との間で共有する処理と、
前記モバイル端末からの第1の通知があったときに前記共有された前記アプリケーションデータに基づいて前記アプリケーションを起動し、
前記モバイル端末からの第2の通知があったときに前記アプリケーションの実行を終了する処理と、
を実行させるプログラム。
A computer that connects to a mobile terminal via a network and virtually executes an application operable on the mobile terminal.
A process for controlling the state of the virtually executed application;
A process of sharing application data indicating the memory state and status information during execution of the application with the mobile terminal;
Activating the application based on the shared application data when there is a first notification from the mobile terminal;
A process of terminating execution of the application when there is a second notification from the mobile terminal;
A program that executes
JP2012012257A 2012-01-24 2012-01-24 Application execution apparatus, system, and program Expired - Fee Related JP5705757B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012012257A JP5705757B2 (en) 2012-01-24 2012-01-24 Application execution apparatus, system, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012012257A JP5705757B2 (en) 2012-01-24 2012-01-24 Application execution apparatus, system, and program

Publications (2)

Publication Number Publication Date
JP2013152545A true JP2013152545A (en) 2013-08-08
JP5705757B2 JP5705757B2 (en) 2015-04-22

Family

ID=49048850

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012012257A Expired - Fee Related JP5705757B2 (en) 2012-01-24 2012-01-24 Application execution apparatus, system, and program

Country Status (1)

Country Link
JP (1) JP5705757B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006338378A (en) * 2005-06-02 2006-12-14 Fujitsu Ltd Data sharing device and data sharing processing program
JP2010527057A (en) * 2007-04-25 2010-08-05 クゥアルコム・インコーポレイテッド A device that determines whether an application should be launched locally or remotely as a web application
WO2010095731A1 (en) * 2009-02-19 2010-08-26 日本電気株式会社 Information processing device, information processing system, information processing method, and program recording medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006338378A (en) * 2005-06-02 2006-12-14 Fujitsu Ltd Data sharing device and data sharing processing program
JP2010527057A (en) * 2007-04-25 2010-08-05 クゥアルコム・インコーポレイテッド A device that determines whether an application should be launched locally or remotely as a web application
WO2010095731A1 (en) * 2009-02-19 2010-08-26 日本電気株式会社 Information processing device, information processing system, information processing method, and program recording medium

Also Published As

Publication number Publication date
JP5705757B2 (en) 2015-04-22

Similar Documents

Publication Publication Date Title
US20240095043A1 (en) Execution of sub-application processes within application program
US11803451B2 (en) Application exception recovery
US10310893B2 (en) Managing container pause and resume
CN108616382B (en) Method and device for upgrading network card firmware, network card and equipment
EP3951595A1 (en) Method and apparatus for graphics rendering
CN103282875B (en) Multi-operating system
US20190235904A1 (en) Cloning services in virtualized computing systems
WO2014153479A1 (en) Decentralized operating system
CN110300328B (en) Video playing control method and device and readable storage medium
US9600369B2 (en) Operating system recovery method and apparatus, and terminal device
US9317344B2 (en) Power efficient brokered communication supporting notification blocking
JP2015503784A (en) Migration between virtual machines in the graphics processor
JP2016508647A (en) Method and system for supporting resource separation in a multi-core architecture
CN112148422A (en) IO processing method and device
CN102385523A (en) Method for installing and managing driver of cloud operating system
CN110928935B (en) Data access command processing method, device and system
US11789718B2 (en) System and method for subscription based solution modification implementation
US11588909B1 (en) System and method for subscription based solution data compatibility
US11237761B2 (en) Management of multiple physical function nonvolatile memory devices
EP3213198B1 (en) Monitoring a mobile device application
CN115421787A (en) Instruction execution method, apparatus, device, system, program product, and medium
TWI668634B (en) Software container based systems and methods for providing cloud services
JP2010134710A (en) Method for migrating virtual machine, server, and program
EP4044015A1 (en) Data processing method and apparatus
WO2023066246A1 (en) Method and system for installing application on cloudphone, and client cloudphone

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141014

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20141027

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20141031

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141127

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20141211

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150225

R150 Certificate of patent or registration of utility model

Ref document number: 5705757

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees