JP2014164567A - Processor, distributed processing method and distributed processing program - Google Patents
Processor, distributed processing method and distributed processing program Download PDFInfo
- Publication number
- JP2014164567A JP2014164567A JP2013035768A JP2013035768A JP2014164567A JP 2014164567 A JP2014164567 A JP 2014164567A JP 2013035768 A JP2013035768 A JP 2013035768A JP 2013035768 A JP2013035768 A JP 2013035768A JP 2014164567 A JP2014164567 A JP 2014164567A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- server
- component
- executed
- processing device
- 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
Links
Images
Abstract
Description
本発明は、処理装置、分散処理方法および分散処理プログラムに関する。 The present invention relates to a processing apparatus, a distributed processing method, and a distributed processing program.
従来より、実行中のアプリケーションのバックグラウンド処理については実施されており、モバイル端末などの端末上で動作するアプリケーション(以下、「モバイル端末向けアプリ」と記す)においても、様々なバックグラウンド処理が実現可能となっている(例えば、非特許文献1参照)。 Conventionally, background processing of running applications has been performed, and various background processing is realized even for applications that run on terminals such as mobile terminals (hereinafter referred to as “apps for mobile terminals”) (For example, refer nonpatent literature 1).
例えば、モバイル端末向けアプリを動作させるオペレーティング・システム(以下「モバイルOS」と記載する)の代表であるAndroid(登録商標)においては、Serviceとういうコンポーネントにモバイル端末向けアプリのバックグランド処理が実装されており、アプリのGUI操作(Activity)が停止した後もバックグラウンドで処理を継続できる仕組みとなる。 For example, in the Android (registered trademark) representative of an operating system (hereinafter referred to as “mobile OS”) that operates an application for mobile terminals, a background process of the application for mobile terminals is implemented in a component called Service. It is a mechanism that can continue processing in the background even after the GUI operation (Activity) of the application is stopped.
しかしながら、モバイル端末にインストールしたアプリケーションの増加と伴に、実行される様々なバックグラウンド処理も増加することになり、これらのバックグラウンド処理の増加が、端末の処理速度の低下などに影響を与えるという問題を生じさせている。この問題は、性能の高くないモバイル端末においてはより顕著である。このため、利用者が意識することなく端末における処理速度を向上させることが課題となる。 However, as the number of applications installed on the mobile terminal increases, the various background processes that are executed also increase, and the increase in these background processes affects the decrease in the processing speed of the terminal. It is causing problems. This problem is more noticeable in mobile terminals that do not have high performance. For this reason, it becomes a subject to improve the processing speed in a terminal, without a user being conscious.
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、端末における処理速度を向上させることを目的とする。 Therefore, the present invention has been made to solve the above-described problems of the prior art, and an object thereof is to improve the processing speed in the terminal.
上述した課題を解決し、目的を達成するために、本発明に係る処理装置は、ユーザインタフェースに係る処理を実行する第1のコンポーネントと内部処理を実行する第2のコンポーネントとが分離して実装されているアプリケーションを実行する処理装置において、前記処理装置によって実行された処理のメソッド、または、該処理装置とネットワークを介して接続され前記第2のコンポーネントに相当するコンポーネントを実装したサーバによって実行された処理のメソッドを記憶するキューと、前記第1のコンポーネントから前記第2のコンポーネントに対する呼出しがあったときに、通信の状況に応じて、前記第2のコンポーネントの処理を前記処理装置において実行するか、前記サーバにおいて実行するかを判断し、前記判断の結果に応じて、前記呼出しの呼出し先を前記処理装置と前記サーバとの間で切り替える切替部と、前記切替部によって呼出し先が前記処理装置に切り替えられた場合には、前記キューに記憶されたメソッドのうち、前記処理装置において未実行のメソッドを実行させるように制御し、前記切替部によって呼出し先がサーバに切り替えられた場合には、前記キューに記憶されたメソッドのうち、前記サーバにおいて未実行のメソッドを実行させるように制御する制御部と、前記処理装置または前記サーバにより前記コンポーネントの処理が実行された後、実行した処理のメソッドを前記キューに格納する格納部と、を有することを特徴とする。 In order to solve the above-described problems and achieve the object, a processing device according to the present invention is implemented by separating a first component that executes processing related to a user interface and a second component that executes internal processing. In the processing device that executes the application being executed, the processing method executed by the processing device, or a server that is connected to the processing device via a network and that implements a component corresponding to the second component is executed. When a call to the second component is made from the first component and the queue that stores the method of the second processing, the processing of the second component is executed in the processing device according to the communication status Or whether to execute in the server, and the result of the determination Accordingly, when the call destination of the call is switched to the processing device by the switching unit that switches the call destination of the call between the processing device and the server, the method stored in the queue Among the methods stored in the queue, when the call destination is switched to the server by the switching unit, the processing device is controlled to execute the unexecuted method. A control unit that controls to execute a method; and a storage unit that stores a method of the executed process in the queue after the processing of the component is executed by the processing device or the server. To do.
また、本発明に係る分散処理方法は、ユーザインタフェースに係る処理を実行する第1のコンポーネントと内部処理を実行する第2のコンポーネントとが分離して実装されているアプリケーションを実行する処理装置において実行される分散処理方法であって、前記処理装置は、前記処理装置によって実行された処理のメソッド、または、該処理装置とネットワークを介して接続され前記第2のコンポーネントに相当するコンポーネントを実装したサーバによって実行された処理のメソッドを記憶するキューを備え、前記第1のコンポーネントから前記第2のコンポーネントに対する呼出しがあったときに、通信の状況に応じて、前記第2のコンポーネントの処理を前記処理装置において実行するか、前記サーバにおいて実行するかを判断し、前記判断の結果に応じて、前記呼出しの呼出し先を前記処理装置と前記サーバとの間で切り替える切替工程と、前記切替工程によって呼出し先が前記処理装置に切り替えられた場合には、前記キューに記憶されたメソッドのうち、前記処理装置において未実行のメソッドを実行させるように制御し、前記切替工程によって呼出し先がサーバに切り替えられた場合には、前記キューに記憶されたメソッドのうち、前記サーバにおいて未実行のメソッドを実行させるように制御する制御工程と、前記処理装置または前記サーバにより前記コンポーネントの処理が実行された後、実行した処理のメソッドを前記キューに格納する格納工程と、を含んだことを特徴とする。 In addition, the distributed processing method according to the present invention is executed in a processing device that executes an application in which a first component that executes processing related to a user interface and a second component that executes internal processing are separately mounted. A distributed processing method, wherein the processing device is a server on which a method of processing executed by the processing device or a component connected to the processing device via a network and corresponding to the second component is mounted A queue for storing a method of processing executed by the first component, and when the first component is called to the second component, the processing of the second component is performed according to a communication situation. Determine whether to run on the device or on the server A switching step of switching a call destination of the call between the processing device and the server according to a result of the determination, and when the call destination is switched to the processing device by the switching step, Of the stored methods, control is performed to execute an unexecuted method in the processing device, and when the call destination is switched to the server by the switching step, among the methods stored in the queue, the A control step of controlling the server to execute an unexecuted method, and a storage step of storing the method of the executed process in the queue after the processing of the component is executed by the processing device or the server. It is characterized by including.
また、本発明に係る分散処理プログラムは、ユーザインタフェースに係る処理を実行する第1のコンポーネントと内部処理を実行する第2のコンポーネントとが分離して実装されているアプリケーションを実行する処理装置において実行し、前記第2のコンポーネントに相当するコンポーネントを実装したサーバに対してネットワークを介して接続したコンピュータに、前記第1のコンポーネントから前記第2のコンポーネントに対する呼出しがあったときに、通信の状況に応じて、前記第2のコンポーネントの処理を前記処理装置において実行するか、前記サーバにおいて実行するかを判断し、前記判断の結果に応じて、前記呼出しの呼出し先を前記処理装置と前記サーバとの間で切り替える切替ステップと、前記切替ステップによって呼出し先が前記処理装置に切り替えられた場合には、前記処理装置によって実行された処理のメソッド、または、前記サーバによって実行された処理のメソッドを記憶するキューに記憶されたメソッドのうち、前記処理装置において未実行のメソッドを実行させるように制御し、前記切替ステップによって呼出し先がサーバに切り替えられた場合には、前記キューに記憶されたメソッドのうち、前記サーバにおいて未実行のメソッドを実行させるように制御する制御ステップと、前記処理装置または前記サーバにより前記コンポーネントの処理が実行された後、実行した処理のメソッドを前記キューに格納する格納ステップと、を実行させることを特徴とする。 The distributed processing program according to the present invention is executed in a processing device that executes an application in which a first component that executes processing related to a user interface and a second component that executes internal processing are separately mounted. When a computer connected via a network to a server on which a component corresponding to the second component is mounted is called from the first component to the second component, the communication status is changed. Accordingly, it is determined whether the processing of the second component is executed in the processing device or the server, and the call destination of the call is determined as the processing device and the server according to the result of the determination. A switching step for switching between and a call by the switching step. When the destination is switched to the processing device, the processing method executed by the processing device or the method stored in the queue that stores the processing method executed by the server is selected. The device is controlled to execute an unexecuted method, and when the call destination is switched to the server by the switching step, an unexecuted method is executed on the server among the methods stored in the queue. And a storage step of storing a method of the executed processing in the queue after the processing of the component is executed by the processing device or the server.
実施形態に係る処理装置、分散処理方法および分散処理プログラムは、端末における処理速度を向上させ、通信環境の状況に応じてアプリケーションの分散処理環境を制御する仕組みを提供することが可能となる。 The processing device, the distributed processing method, and the distributed processing program according to the embodiment can improve the processing speed in the terminal and provide a mechanism for controlling the distributed processing environment of the application according to the state of the communication environment.
以下に添付図面を参照して、この発明に係る処理装置、分散処理方法および分散処理プログラムの実施形態を詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。 Exemplary embodiments of a processing device, a distributed processing method, and a distributed processing program according to the present invention will be described below in detail with reference to the accompanying drawings. In addition, this invention is not limited by this embodiment.
[第一の実施形態]
以下の実施形態では、第一の実施形態に係るシステムの構成、および影響評価装置による処理の流れを順に説明し、最後に第一の実施形態による効果を説明する。図1は、第一の実施形態に係るシステムの構成の一例を示す図である。第一の実施形態に係るシステムは、ネットワーク10、複数のモバイル端末20および複数のサーバ30を有する。また、各モバイル端末20および各サーバ30は、ネットワーク10を介して接続される。
[First embodiment]
In the following embodiments, the configuration of the system according to the first embodiment and the flow of processing by the impact evaluation apparatus will be described in order, and finally the effects of the first embodiment will be described. FIG. 1 is a diagram illustrating an example of a configuration of a system according to the first embodiment. The system according to the first embodiment includes a
ここでネットワーク10とは、例えば、3G(3rd Generation)や、LTE(Long Term Evolution)、WiFi(Wireless Fidelity)などである。また、モバイル端末20は、例えば、携帯電話、PHS(Personal Handyphone System)、PDA(Personal Digital Assistant)、タブレットPC(Personal Computer)等、インターネットに接続して、問い合わせサーバや他のユーザ端末との間で情報を送受信できるものであれば、任意の装置であってよい。また、モバイル端末に限定されず、家庭またはオフィスに設置されたコンピュータを使用してもよい。
Here, the
ネットワーク10に対し、1または複数のモバイル端末20と1または複数のサーバ30が接続している。各モバイル端末20は、リチウムイオン電池などの二次電池で駆動され有線または無線によってネットワーク10に接続する物理デバイスである。サーバ30は、例えば、クラウド基盤上のものとして構成することができる。本実施形態では、モバイル端末20におけるアプリケーション(AP)のバックグラウンド処理をサーバ30上で実行させることにより、分散処理を実現している。
One or more
本実施形態においては、モバイル端末20のアプリケーションとして、MVC(モデル・ビュー・コントロール;MVC)などのデザインパターンにより、ユーザインタフェース(ビュー及びコントロール)のコンポーネントと内部処理(モデル)のコンポーネントが容易に分割可能なものであるとする。ここでは、モバイル端末20にある既存実行環境を本発明に基づいて改造し、サーバ30にも同等な実行環境を導入し、モバイル端末20のアプリケーションをサーバ30の環境にもインストールして実行できるようにしている。
In the present embodiment, the user interface (view and control) component and the internal processing (model) component can be easily divided as an application of the
また、例えば、モバイル端末20は、携帯電話、PHS(Personal Handyphone System)、PDA(Personal Digital Assistant)、タブレットPC(Personal Computer)等、インターネットに接続して、問い合わせサーバや他のユーザ端末との間で情報を送受信できるものであれば、任意の装置であってよい。また、モバイル端末に限定されず、家庭またはオフィスに設置されたコンピュータを使用してもよい。なお、各モバイル端末20および各サーバ30における通信は、無線通信に限定されるものではなく、有線通信であってもよい。
Further, for example, the
図2は、本実施形態におけるモバイル端末20とサーバ30の論理的な構成を示している。モバイル端末20において、モバイルOSによって実現される実行環境21が設けられており、実行環境21の上位にアプリケーション22が位置する。この実行環境21における機能として、切替部21a、制御部21bおよび格納部21cが設けられている。
FIG. 2 shows a logical configuration of the
切替部21aは、ユーザインタフェースのコンポーネントから内部処理のコンポーネントに対する呼出しがあったときに、通信の状況に応じて、内部処理のコンポーネントの処理をモバイル端末20において実行するか、サーバ30において実行するかを判断し、判断の結果に応じて、呼出しの呼出し先をモバイル端末20とサーバ30との間で切り替える。
Whether the
例えば、切替部21aは、例えば、通信速度や電波強度を測定したり、通信可能か通信不可能かを識別する情報を外部から取得したりすることで、通信の状況を推定する。そして、切替部21aは、推定した通信の状況に応じて、呼出しの呼出し先をモバイル端末20とサーバ30との間で切り替える。例えば、切替部21aは、通信可能であれば、呼出しの呼出し先をサーバ30に切り替え、通信不可能であれば、呼出しの呼出し先をモバイル端末20に切り替える。また、切替部21aは、通信速度が所定の閾値以上であれば、呼出しの呼出し先をサーバ30に切り替え、通信速度が所定の閾値以下であれば、呼出しの呼出し先をモバイル端末20に切り替える。
For example, the
制御部21bは、切替部21aによって呼出し先がモバイル端末20に切り替えられた場合には、キュー25に記憶されたメソッドのうち、モバイル端末20において未実行のメソッドを実行させるように制御し、切替部21aによって呼出し先がサーバ30に切り替えられた場合には、キュー25に記憶されたメソッドのうち、サーバ30において未実行のメソッドを実行させるように制御する。
When the call destination is switched to the
格納部21cは、自装置またはサーバ30によりコンポーネントの処理が実行された後、実行したコンポーネントの処理のメソッドをキュー25に格納する。また、格納部21cは、実行した処理のメソッドとともに、該メソッドを実行したのがモバイル端末20であるのかサーバ30であるのかを示す情報を格納する。
After the component processing is executed by the own device or the
アプリケーション22は、MVCのデザインパターンによるものであって、ビュー及びコントロールのコンポーネントとモデルのコンポーネントから構成されている。また、実行環境21の下位には、ハードウェアコンポーネントとして、GPS(全地球測位システム;Global Positioning System)センサや電池残量計、加速度センサなどの各種のセンサ23と、アプリケーション22の実行に関連したデータ等を格納するストレージ(記憶装置)24とが設けられている。
The
ストレージ24は、例えば、フラッシュメモリを有するメモリカードなどによって構成される。同様にサーバ30には、そのOSによって実現される実行環境31が設けられており、実行環境31の上位に、モバイル端末20のアプリケーション22と同等のアプリケーション32が位置する。実行環境21の下位には、ハードウェアコンポーネントとしてセンサをシミュレートする仮想センサ33と、アプリケーション32の実行に関連したデータ等を格納するストレージ(記憶装置)34とが設けられている。ストレージ34は、例えば、HDD(ハードディスク装置)によって構成される。
The
従来のモバイル端末では、その実行環境に、アプリケーションにおけるビュー及びコントロールのコンポーネントからモデルのコンポーネントへの関数呼出し(あるいはメソッド呼出し)及びプロセス間通信の機能が設けられている。本実施形態では、モバイル端末20の実行環境21におけるこの機能に、呼出し先(及び通信先)を動的に切り替える仕組みである切替部21aを追加する。具体的には、呼出し先(及び通信先)を動的に切り替える切替部21aは、モバイル端末20の通信環境の状況に応じて、モデル関数の呼出先(及び通信先)を動的に切り替える。ここで、端末の無線通信状況としては、例えば、通信可能・不可能の識別等のほか回線の通信速度や電波強度などが挙げられる。
In a conventional mobile terminal, functions of function calls (or method calls) and inter-process communication from view and control components in an application to model components are provided in the execution environment. In the present embodiment, a switching
また、モバイル端末20は、呼び出し先を切り替える際に、呼び出されるモデル関数と引数を順番に保存しておくキュー25を有する。このキュー25をアプリケーション特性に応じて利用することでサーバ30とモバイル端末20のどちらで実行しても同じ結果が得られるようになる。ここでアプリケーション特性としては、コールバックを利用するかどうか、モデルが内部に状態を持つ(保持する)か、モデル(内部処理)の設定などが考えられる。
In addition, the
また、呼び出し先を切り替える処理は、処理を実行するたびに決定する。そして、サーバ30側で処理すると決まった場合には、呼出し先をサーバ30側のモデルに指定し、サーバ30側で当該モデルを処理させる。この時、キュー25にたまっている処理があればそれらを先に呼び出してからキュー25内の処理を実行する。また、モバイル端末20で処理すると決まった場合には、呼出し先をモバイル端末20側のモデルに指定し、ローカルで処理させることによって、オフラインでもアプリの実行を可能とする。
In addition, the process of switching the call destination is determined every time the process is executed. If it is determined that the processing is to be performed on the
次に、モバイル端末20における実行環境21を構成するモバイルOSがAndroid(登録商標)OSである場合を例に挙げて、従来のアプリケーション構成の具体例を説明する。図3においては、この場合のモバイルOS上で動作する従来のアプリケーションの構成を示している。ここではAndroidOSを前提としているから、アプリケーション22は、ビュー及びコントロールに相当しユーザインタフェースを担当するActivityコンポーネントと、モデルに相当しバックグラウンド処理を担当するServiceコンポーネントから構成される。
Next, a specific example of a conventional application configuration will be described by taking as an example the case where the mobile OS configuring the
Androidアプリでは、Activityがビュー・コントロールに相当し、Serviceがモデルのコンポーネントに相当する。また、Activityは、ユーザインタフェース処理を分担し、Serviceはバックグラウンド処理を分担する。また、Activityは、カーネル26にあるBinder Driverにより、呼び出し先のServiceの機能を定義するインタフェースとバインドする。
In the Android application, Activity corresponds to a view control, and Service corresponds to a model component. Activity also shares user interface processing, and Service shares background processing. In addition, Activity is bound to an interface that defines a function of a service to be called by a Binder Driver in the
また、実行環境としてのカーネル26には、メソッド呼出し(例えばActivityコンポーネントからServiceコンポーネントの呼出し)及びプロセス間通信を実行するBinder Driverが設けられている。なお、図3及びそれ以降の図面において、モバイル端末20のカーネル26の中にセンサ23及びストレージ24が設けられ、カーネル36の中に仮想センサ33及びストレージ34が設けられているように記載されているが、これらは、カーネルの中に物理デバイスとしてのセンサ、仮想センサ及びストレージが設けられていることを意味するのではなく、カーネルを介してセンサ、仮想センサ及びストレージにアクセスできることを意味している。
In addition, the
次に、図4を用いて、本実施形態に係るモバイル端末20およびサーバ30のアプリケーション構成の具体例を説明する。図4に示すように、本実施形態に係るモバイル端末20でのカーネル26におけるBinder Driverを本発明の分散実行方法に適合するように改造し、サーバ30においてモバイル端末20と同等な、改造したBinder Driverを備えたOSの環境を導入する。また、モバイル端末20にあるアプリケーション22と同じアプリケーション32をサーバ30の環境にもインストールする。
Next, specific examples of application configurations of the
本来、同じアプリケーションのActivityコンポーネントとServiceコンポーネントとは同一の端末に存在することが前提されているが、上述のように改造したBinder Driverにより、インターネットなどのネットワークを経由してモバイル端末20のActivityをサーバ30のServiceにバインドさせることを可能とする。モバイル端末20のBinder Driverは、メソッド呼出しの呼出し先を切り替える切替部21aとして機能する。さらに、モバイル端末20とサーバ30との間でストレージ24、34を同期させ、センサ情報も同期させることにより、サーバ30においてモバイル端末20のコンテキストを把握、利用することを可能とする。これらによって、サーバ30側のServiceコンポーネントは、モバイル端末20のServiceコンポーネントと同等な実行結果を得ることができる。
Originally, it is assumed that the Activity component and the Service component of the same application exist in the same terminal, but with the modified Binder Driver as described above, the activity of the
図5においては、モバイル端末20とサーバ30との間でストレージ24、34の同期を実現するための既存技術によるソフトウェアの実装例を示している。モバイル端末20もサーバ30も、ソフトウェア階層として、カーネル26、36の上にライブラリがあり、ライブラリの上にアプリケーション22、32が位置している。なお、モバイル端末20においてライブラリには、汎用のライブラリlibcとキャッシュ動作を実現する独自のライブラリECSが含まれている。
FIG. 5 shows an implementation example of software based on the existing technology for realizing the synchronization of the
カーネル26には、ファイル関係の機能として、VFS(仮想ファイルシステム;Virtual File System)とLinux(登録商標)の1モジュールであるFuse(Filesystem in Userspace)が実装されている。アプリケーション22は、ファイルアクセスに際しては、ファイルAPIによりVFSにアクセスする。このアクセスは、VFSからFuseを介してライブラリに送られ、その結果、ライブラリを介して、モバイル端末20のストレージ24とサーバ30のストレージ34との間で、ストレージの同期が達成される。ここで示す例では、ローカルキャッシュとNFS(ネットワークファイルシステム;Network File System)とを組み合わせたファイルシステムを構築することで、SQLiteなどのアプリケーション特有ファイルについてのストレージ同期を実現している。ここに示したもの以外にも、ローカルのストレージとリモートのストレージとを同期させる手法として数多くのものが知られているから、それらの手法を用いてストレージ24、34を同期させるようにしてもよい。
In the
図6に示す処理では、改造を行っていない従来のBinder Driverを用いた場合の処理を示している。Activityは、従来のAndroidと同じくContextというオブジェクトにサービスの利用を要求し(ステップS101)、サービスを呼び出すためのハンドラーを取得する(ステップS102)。 The process shown in FIG. 6 shows a process when a conventional Binder Driver that has not been modified is used. The Activity requests the use of the service from the object Context as in the conventional Android (Step S101), and obtains a handler for calling the service (Step S102).
Activityは、Binder Driver経由でServiceのメソッドを呼び出す(ステップ103)。Binder Driverは、呼出命令をServiceにリレーし(ステップ104)、Serviceの実行結果を取得して(ステップ105)、それをActivityに返す(ステップ106)。 Activity calls a method of Service via Binder Driver (step 103). The Binder Driver relays the calling instruction to the Service (Step 104), acquires the execution result of the Service (Step 105), and returns it to the Activity (Step 106).
次に、第一の実施形態に係るモバイル端末20のアプリケーション実行処理について説明する。図7は、第一の実施形態に係るモバイル端末20のアプリケーション実行処理の処理手順を示すシーケンス図である。図7においては、改造されたBinder Driverを用いた場合の処理を示している。
Next, application execution processing of the
図7に示すように、Activityは、従来のAndroidと同じくContextというオブジェクトにサービスの利用を要求し(ステップS201)、サービスを呼び出すためのハンドラーを取得する(ステップS202)。そして、Activityは、Binder Driver経由でServiceのメソッドを呼び出す(ステップ203)。このとき、Binder Driverは、通信状況を評価し、サーバ30側で処理するべきかどうか判断する(ステップS204)。
As shown in FIG. 7, Activity requests the use of a service from an object called Context as in conventional Android (step S201), and obtains a handler for calling the service (step S202). And Activity calls the method of Service via Binder Driver (step 203). At this time, the Binder Driver evaluates the communication status and determines whether or not to process on the
ステップS204において、Binder Driverは、サーバ30で処理するべきと判断した場合、モバイル端末20で実行されていない呼び出しがあるかをキュー25に確認し(ステップS205)、メソッド(以下、事前実行メソッドという)の応答を受信する(ステップS206)。そして、呼び出しがある場合は、まずその事前実行メソッドの呼び出しを行い(ステップS207)、呼出命令をサーバ30にあるServiceにリレーする(ステップS208)。そして、サーバ30のServiceは、Binder Driverを介してモバイル端末20のBinder Driverに実行結果を返す(ステップS209、210)。ここで、モバイル端末20では、サーバ30のServiceの実行結果を破棄する。
In step S204, when the Binder Driver determines that it should be processed by the
その後、サーバ30は、事前実行メソッドの呼び出しがキュー25になかった場合と同様に、モバイル端末20で処理すべきと判断された呼び出しを、従来のBinder Driverの機能と同じく、呼出命令を端末にあるServiceにリレーし(ステップS211)、サーバ30にあるServiceは、Binder Driverを介してモバイル端末20のServiceの実行結果を返す(ステップS212、213)。
After that, as in the case where the call of the pre-execution method is not in the
また、ステップS204において、モバイル端末20で処理するべきと判断した場合、モバイル端末20で実行されていない呼び出しがあるかをキュー25に確認し(ステップS214)、事前実行メソッドの応答を受信する(ステップS215)。この結果、呼び出しがある場合は、まずその事前呼び出しを実行し(ステップS216)、実行結果をBinder Driverに返す(ステップS217)。ここで、モバイル端末20では、実行結果を破棄する。つまり、モバイル端末20での実行の場合及びサーバ30での実行の場合とも、キュー25に蓄積された事前呼び出しの実行結果については、すでに結果を受け取っているものであるため、取得された実行結果はそれぞれ破棄してもよい。
If it is determined in step S204 that the
その後、事前実行メソッドの呼び出しがキュー25になかった場合と同様に、モバイル端末20で処理すべきと判断された呼び出しを、従来のBinder Driverの機能と同じく、呼出命令をモバイル端末20にあるServiceにリレーし(ステップS218)、Serviceの実行結果をBinder Driverに返す(ステップS219、S220)。
After that, as in the case where the call of the pre-execution method is not in the
その後、Binder Driverは、今回実行された呼び出しについて、所定の条件に基づいて、キュー25に保存するか否かを判定する(ステップS221)。例えば、Binder Driverは、キュー25に入れる条件として、メソッドが、アプリケーションの設定を置くもの、アプリケーションが内部で状態を持つもの、コールバック関数を登録するもののいずれかに該当するか判定する。
Thereafter, the Binder Driver determines whether or not to save the call executed this time in the
この結果、キュー25に保存すると判定した場合には、メソッドをキュー25に入れて(ステップS222)、実行結果をActivityに返す。つまり、上記の条件にマッチするメソッドのみをキュー25に格納することで、呼び出し場所がモバイル端末20またはサーバ30に切り替えられた場合であっても実行結果が変わってしまうことを防止しつつ、アプリケーションの効率性を向上させることができる。例えば、アプリケーションが内部で状態を持つものについては、呼び出し場所が変更になると、処理結果が変わってしまうため、過程をキュー25に入れておくことで呼び出し場所が変更されても同じ実行結果を得ることができるようにする。なお、処理を簡潔化するために、上記の判定処理を省略し、全てのメソッドをキュー25に入れてもよい。
As a result, if it is determined to save in the
また、ステップS222の処理において、キュー25には、今回実行されたメソッドとともに、該メソッドをモバイル端末20またはサーバ30のいずれが実行したかを示す処理対象情報を格納する。つまり、上記の事前実行メソッドの呼び出し(ステップS207、216)時において、キュー25に記憶されたメソッドが、モバイル端末20またはサーバ30側で未実行であるかを、この処理対象情報から判断できるようにしている。一方、ステップS222において、キュー25に保存しないと判定した場合には、メソッドをキュー25に入れずに、実行結果をActivityに返す(ステップS223)。
In the process of step S222, the
また、上記の説明では、ActivityがBinder Driver経由でServiceのメソッドを呼び出した際に、Binder Driverが、通信状況を評価してサーバ30側で処理するべきと判断した場合に、サーバ30がキュー25に格納されたメソッドを実行する場合について説明した。しかし、これに限定されるものではなく、キュー25に格納されたメソッドについて、特にサーバ30で実行されるものについては、ネットワーク状態が変更された際に実行しておくことが考えられる。例えば、主なケースとしては、サーバ30は、ネットワーク断の際において、キュー25に入れられたものを、ネットワーク10がつながった際に実行するようにしてもよい。
In the above description, when Activity calls a service method via the Binder Driver, if the Binder Driver evaluates the communication status and determines that the
また、次に、図8および図9を用いて、コールバックを利用した実行について説明する。コールバックを利用した実行とは、主に時間がかかる処理や非同期に結果が返されることを想定する呼び出しに対し、呼び出し元が生成したオブジェクトを事前に保存し、呼び出しの際には同オブジェクトを介して非同期結果を返却する実行方法の1つである。 Next, execution using a callback will be described with reference to FIGS. 8 and 9. Execution using callback means that an object generated by the caller is saved in advance for a call that mainly takes time and a result is assumed to be returned asynchronously. It is one of the execution methods that return asynchronous results via
まず、図8を用いて、従来のコールバックオブジェクトを利用した呼出の例について説明する。図8に示すように、Activityは、従来のAndroidと同じくContextというオブジェクトにサービスの利用を要求し(ステップS301)、Serviceを呼び出すためのハンドラーを取得する(ステップS302)。 First, an example of a call using a conventional callback object will be described with reference to FIG. As shown in FIG. 8, Activity requests the use of a service from an object called Context as in the conventional Android (Step S301), and acquires a handler for calling Service (Step S302).
そして、Activityは、コールバックオブジェクトの登録をServiceに要求する(ステップS303)。そして、Serviceは、コールバックオブジェクトをメモリに格納する(ステップS304)。Activityは、コールバック利用メソッドの呼出しを行う(ステップS305)。そして、Serviceは、受付応答をActivityに返す(ステップS306)。 Then, Activity requests the Service to register the callback object (Step S303). Then, the Service stores the callback object in the memory (Step S304). Activity calls the callback usage method (step S305). Then, the Service returns a reception response to Activity (Step S306).
その後、Serviceは、実際に処理を行った後、処理結果をコールバック利用メソッドに通知し(ステップS307)、コールバックメソッドを介してActivityに実行結果を返す(ステップS308)。 Thereafter, after actually performing the processing, the Service notifies the callback usage method of the processing result (Step S307), and returns the execution result to the Activity via the callback method (Step S308).
次に、図9を用いて、本実施形態におけるコールバックオブジェクトを利用した呼出の例について説明する。なお、図9では、コールバックオブジェクトの登録時は通信断(オフライン)、呼び出しの際は通信ありで、オフロードする場合の事例であることを前提に説明する。図9に示すように、まずActivityは、従来のAndroidと同じくContextというオブジェクトにサービスの利用を要求し(ステップS401)、Serviceを呼び出すためのハンドラーを取得する(ステップS402)。 Next, an example of a call using a callback object in this embodiment will be described with reference to FIG. In FIG. 9, description will be made on the assumption that communication is interrupted (offline) when a callback object is registered, communication is present when calling, and an offload is performed. As shown in FIG. 9, first, Activity requests the use of a service from an object called Context as in the conventional Android (Step S401), and obtains a handler for calling Service (Step S402).
そして、Activityは、コールバックオブジェクトの登録をBinder Driverに要求する(ステップS403)。そして、Binder Driverは、Serviceに要求するとともに(ステップS404)、キュー25にコールバックオブジェクトを登録する(ステップS405)。そして、Serviceは、コールバックオブジェクトをメモリに格納する(ステップS406)。つまり、コールバックオブジェクトの登録時は、通信断のためコールバックオブジェクトをサーバ30側に登録できないことから、モバイル端末20でコールバックオブジェクトの登録を実行する。このとき、メソッドの種類がコールバックオブジェクトを含むことから、上記したようにキュー25にも保存する。
Then, Activity requests the Binder Driver to register a callback object (Step S403). Then, the Binder Driver makes a request to the Service (step S404) and registers a callback object in the queue 25 (step S405). Then, the Service stores the callback object in the memory (Step S406). That is, when the callback object is registered, the callback object cannot be registered on the
次にServiceのメソッドに対する呼び出しがかかると(ステップS407)、サーバ30側で処理をすべきか判断し(ステップS408)、この時は通信があるためサーバ30での実行と決まる。その際に、Binder Driverは、まずキュー25の事前実行メソッドを確認し(ステップS409)、コールバック登録の応答を受け付けて、先ほどモバイル端末20のキュー25に登録したコールバックオブジェクトの登録メソッドを抽出する(ステップS410)。そして、モバイル端末20のBinder Driverは、まずコールバックオブジェクトの登録をサーバ30側のBinder Driverに行い(ステップS411)、呼出命令をサーバ30にあるServiceにリレーする(ステップS412)。
Next, when a call is made to the Service method (step S407), it is determined whether the processing should be performed on the
そして、サーバ30のServiceは、Binder Driverを介してモバイル端末20のBinder Driverに登録結果を返すとともに(ステップS413、S414)、メモリにコールバックオブジェクトを登録する(ステップS415)。続いて、モバイル端末20のServiceは、コールバック利用メソッドの呼び出しを行い、サーバ30側のBinder Driverを介してServiceにリレーする(ステップS416)。
Then, the service of the
そして、サーバ30のServiceは、Binder Driverを介して受付応答をモバイル端末20のBinder Driverに返す(ステップS417、418)。その後、サーバ30側のServiceは、実際に処理を行った後、処理結果をコールバック利用メソッドに通知し(ステップS419)、コールバックメソッドを介してActivityに実行結果を返す(ステップS420〜423)。
Then, the Service of the
[第一の実施形態の効果]
上述してきたように、第一の実施形態にかかるモバイル端末20は、ユーザインタフェースのコンポーネントから内部処理のコンポーネントに対する呼出しがあったときに、通信の状況に応じて、内部処理のコンポーネントの処理をモバイル端末20において実行するか、サーバ30において実行するかを判断し、判断の結果に応じて、呼出しの呼出し先をモバイル端末20とサーバ30との間で切り替える。そして、モバイル端末20は、呼出し先がモバイル端末20に切り替えられた場合には、キュー25に記憶されたメソッドのうち、モバイル端末20において未実行のメソッドを実行させるように制御し、切替部21aによって呼出し先がサーバ30に切り替えられた場合には、キュー25に記憶されたメソッドのうち、サーバ30において未実行のメソッドを実行させるように制御する。そして、モバイル端末20またはサーバ30によりコンポーネントの処理が実行された後、実行したコンポーネントの処理のメソッドをキュー25に格納する。これにより、通信環境の状況に応じてアプリケーションの分散処理環境を制御する仕組みを提供することが可能となる。
[Effect of the first embodiment]
As described above, when the
また、モバイル端末内部で動作しているサービスを通信環境の状況に応じて動的にクラウド等のサーバ30側で実行させるような切替の制御を行うことができる。これにより、サーバの豊富なリソース(回線・メモリ等)を用いることで高速化を実現することが可能となる。また、キュー25を利用することで、呼び出し場所が変わることによる実行結果が変わってしまうことを防止することできる。さらに、実行環境の切替による処理の中断、処理結果の中間状態のリセット等が発生せず、切替えて利用する複数の実行環境のシームレス化を実現することが可能である。
In addition, it is possible to perform switching control such that a service operating in the mobile terminal is dynamically executed on the
特に、Androidサービスなどモバイル環境下においてモバイル端末20で無線通信を行うような場合は、モバイル端末20の性能や無線通信環境の制約の影響を受けやすいため、端末通信状態に応じてクラウド側で動作させることによって上記のとおり、モバイル端末以上の処理性能を実行環境の切替を意識せずに得ることができる。
In particular, when wireless communication is performed with the
[システム構成]
また、本実施形態において説明した各処理の内、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上述文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[System configuration]
In addition, among the processes described in the present embodiment, all or part of the processes described as being automatically performed can be manually performed, or the processes described as being performed manually can be performed. All or a part can be automatically performed by a known method. In addition, the processing procedures, control procedures, specific names, and information including various data and parameters shown in the above-described document and drawings can be arbitrarily changed unless otherwise specified.
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。 Further, each component of each illustrated apparatus is functionally conceptual, and does not necessarily need to be physically configured as illustrated. That is, the specific form of distribution / integration of each device is not limited to the one shown in the figure, and all or a part of the distribution / integration may be functionally or physically distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured.
[プログラム]
図10は、開示の技術に係る分散処理プログラムによる情報処理がコンピュータを用いて具体的に実現されることを示す図である。図10に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU(Central Processing Unit)1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。コンピュータ1000の各部はバス1080によって接続される。
[program]
FIG. 10 is a diagram illustrating that information processing by the distributed processing program according to the disclosed technique is specifically realized using a computer. As illustrated in FIG. 10, the
メモリ1010は、図10に例示するように、ROM1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、図10に例示するように、ハードディスクドライブ1031に接続される。ディスクドライブインタフェース1040は、図10に例示するように、ディスクドライブ1041に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1041に挿入される。シリアルポートインタフェース1050は、図10に例示するように、例えばマウス1051、キーボード1052に接続される。ビデオアダプタ1060は、図10に例示するように、例えばディスプレイ1061に接続される。
The
ここで、図10に例示するように、ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、開示の技術に係る分散処理プログラムは、コンピュータによって実行される指令が記述されたプログラムモジュール1093として、例えばハードディスクドライブ1031に記憶される。
Here, as illustrated in FIG. 10, the hard disk drive 1031 stores, for example, an
また、分散処理プログラムによる情報処理に用いられるデータは、プログラムデータ1094として、例えばハードディスクドライブ1031に記憶される。そして、CPU1020が、ハードディスクドライブ1031に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出し、各種の手順を実行する。
Data used for information processing by the distributed processing program is stored as
なお、分散処理プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限られない。例えば、プログラムモジュール1093やプログラムデータ1094は、着脱可能な記憶媒体に記憶されても良い。この場合、CPU1020は、ディスクドライブなどの着脱可能な記憶媒体を介してデータを読み出す。また、同様に、分散処理プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されても良い。この場合、CPU1020は、ネットワークインタフェースを介して他のコンピュータにアクセスすることで各種データを読み出す。
Note that the
[その他]
なお、本実施形態で説明した分散処理プログラムは、インターネットなどのネットワークを介して配布することができる。また、制御プログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
[Others]
Note that the distributed processing program described in the present embodiment can be distributed via a network such as the Internet. The control program can also be executed by being recorded on a computer-readable recording medium such as a hard disk, a flexible disk (FD), a CD-ROM, an MO, and a DVD, and being read from the recording medium by the computer.
10 ネットワーク
20 モバイル端末
21、31 実行環境
21a 切替部
21b 制御部
21c 格納部
22、32 アプリケーション
23 センサ
24、34 ストレージ
30 サーバ
33 仮想センサ
DESCRIPTION OF
Claims (7)
前記処理装置によって実行された処理のメソッド、または、該処理装置とネットワークを介して接続され前記第2のコンポーネントに相当するコンポーネントを実装したサーバによって実行された処理のメソッドを記憶するキューと、
前記第1のコンポーネントから前記第2のコンポーネントに対する呼出しがあったときに、通信の状況に応じて、前記第2のコンポーネントの処理を前記処理装置において実行するか、前記サーバにおいて実行するかを判断し、前記判断の結果に応じて、前記呼出しの呼出し先を前記処理装置と前記サーバとの間で切り替える切替部と、
前記切替部によって呼出し先が前記処理装置に切り替えられた場合には、前記キューに記憶されたメソッドのうち、前記処理装置において未実行のメソッドを実行させるように制御し、前記切替部によって呼出し先がサーバに切り替えられた場合には、前記キューに記憶されたメソッドのうち、前記サーバにおいて未実行のメソッドを実行させるように制御する制御部と、
前記処理装置または前記サーバにより前記コンポーネントの処理が実行された後、実行した処理のメソッドを前記キューに格納する格納部と、
を有することを特徴とする処理装置。 In a processing apparatus that executes an application in which a first component that executes processing related to a user interface and a second component that executes internal processing are separately mounted,
A queue that stores a method of processing executed by the processing device, or a method of processing executed by a server that is connected to the processing device via a network and has a component corresponding to the second component;
When a call is made from the first component to the second component, it is determined whether the processing of the second component is executed in the processing device or the server depending on the communication status A switching unit that switches a call destination of the call between the processing device and the server according to a result of the determination;
When the switching unit is switched to the processing device by the switching unit, control is performed so that an unexecuted method is executed in the processing device among the methods stored in the queue, and the calling unit is controlled by the switching unit. Is switched to a server, among the methods stored in the queue, a control unit that controls to execute an unexecuted method in the server;
After the processing of the component is executed by the processing device or the server, a storage unit that stores a method of the executed processing in the queue;
A processing apparatus comprising:
前記処理装置のストレージと前記サーバのストレージとの間でデータを同期させる同期部と、
をさらに備えることを特徴とする請求項1に記載の処理装置。 Storage for storing data related to the execution of the application;
A synchronization unit for synchronizing data between the storage of the processing device and the storage of the server;
The processing apparatus according to claim 1, further comprising:
前記処理装置は、前記処理装置によって実行された処理のメソッド、または、該処理装置とネットワークを介して接続され前記第2のコンポーネントに相当するコンポーネントを実装したサーバによって実行された処理のメソッドを記憶するキューを備え、
前記第1のコンポーネントから前記第2のコンポーネントに対する呼出しがあったときに、通信の状況に応じて、前記第2のコンポーネントの処理を前記処理装置において実行するか、前記サーバにおいて実行するかを判断し、前記判断の結果に応じて、前記呼出しの呼出し先を前記処理装置と前記サーバとの間で切り替える切替工程と、
前記切替工程によって呼出し先が前記処理装置に切り替えられた場合には、前記キューに記憶されたメソッドのうち、前記処理装置において未実行のメソッドを実行させるように制御し、前記切替工程によって呼出し先がサーバに切り替えられた場合には、前記キューに記憶されたメソッドのうち、前記サーバにおいて未実行のメソッドを実行させるように制御する制御工程と、
前記処理装置または前記サーバにより前記コンポーネントの処理が実行された後、実行した処理のメソッドを前記キューに格納する格納工程と、
を含んだことを特徴とする分散処理方法。 A distributed processing method executed in a processing device that executes an application in which a first component that executes processing related to a user interface and a second component that executes internal processing are separately implemented,
The processing device stores a method of processing executed by the processing device or a method of processing executed by a server that is connected to the processing device via a network and has a component corresponding to the second component. With a queue to
When a call is made from the first component to the second component, it is determined whether the processing of the second component is executed in the processing device or the server depending on the communication status And a switching step of switching a call destination of the call between the processing device and the server according to a result of the determination;
When the call destination is switched to the processing device by the switching step, control is performed so that an unexecuted method is executed in the processing device among the methods stored in the queue. Is switched to a server, among the methods stored in the queue, a control process for controlling to execute an unexecuted method in the server;
After the processing of the component is executed by the processing device or the server, a storing step of storing a method of the executed processing in the queue;
The distributed processing method characterized by including.
前記第1のコンポーネントから前記第2のコンポーネントに対する呼出しがあったときに、通信の状況に応じて、前記第2のコンポーネントの処理を前記処理装置において実行するか、前記サーバにおいて実行するかを判断し、前記判断の結果に応じて、前記呼出しの呼出し先を前記処理装置と前記サーバとの間で切り替える切替ステップと、
前記切替ステップによって呼出し先が前記処理装置に切り替えられた場合には、前記処理装置によって実行された処理のメソッド、または、前記サーバによって実行された処理のメソッドを記憶するキューに記憶されたメソッドのうち、前記処理装置において未実行のメソッドを実行させるように制御し、前記切替ステップによって呼出し先がサーバに切り替えられた場合には、前記キューに記憶されたメソッドのうち、前記サーバにおいて未実行のメソッドを実行させるように制御する制御ステップと、
前記処理装置または前記サーバにより前記コンポーネントの処理が実行された後、実行した処理のメソッドを前記キューに格納する格納ステップと、
を実行させることを特徴とする分散処理プログラム。 A component corresponding to the second component that is executed in a processing device that executes an application in which a first component that executes processing related to a user interface and a second component that executes internal processing are separately mounted. To a computer connected via a network to a server with
When a call is made from the first component to the second component, it is determined whether the processing of the second component is executed in the processing device or the server depending on the communication status A switching step of switching a call destination of the call between the processing device and the server according to a result of the determination;
When the call destination is switched to the processing device by the switching step, the method of the process executed by the processing device or the method stored in the queue that stores the method of the processing executed by the server is stored. Of these, when the processing device is controlled to execute an unexecuted method and the call destination is switched to the server by the switching step, among the methods stored in the queue, the unexecuted method is executed on the server. A control step that controls the execution of the method;
After the processing of the component is executed by the processing device or the server, a storage step of storing a method of the executed processing in the queue;
A distributed processing program characterized by causing
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013035768A JP5847744B2 (en) | 2013-02-26 | 2013-02-26 | Processing device, distributed processing method, and distributed processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013035768A JP5847744B2 (en) | 2013-02-26 | 2013-02-26 | Processing device, distributed processing method, and distributed processing program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014164567A true JP2014164567A (en) | 2014-09-08 |
JP5847744B2 JP5847744B2 (en) | 2016-01-27 |
Family
ID=51615106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013035768A Expired - Fee Related JP5847744B2 (en) | 2013-02-26 | 2013-02-26 | Processing device, distributed processing method, and distributed processing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5847744B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019135578A (en) * | 2018-02-05 | 2019-08-15 | 株式会社東芝 | Cloud system, cloud server, edge server and user device |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11306151A (en) * | 1998-04-27 | 1999-11-05 | Fujitsu Ltd | Decentralized object processor and program storage medium |
JP2005011346A (en) * | 2003-06-20 | 2005-01-13 | Docomo Communications Laboratories Usa Inc | Method and system for performing adaptive replication of application using server side code unit |
-
2013
- 2013-02-26 JP JP2013035768A patent/JP5847744B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11306151A (en) * | 1998-04-27 | 1999-11-05 | Fujitsu Ltd | Decentralized object processor and program storage medium |
JP2005011346A (en) * | 2003-06-20 | 2005-01-13 | Docomo Communications Laboratories Usa Inc | Method and system for performing adaptive replication of application using server side code unit |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019135578A (en) * | 2018-02-05 | 2019-08-15 | 株式会社東芝 | Cloud system, cloud server, edge server and user device |
Also Published As
Publication number | Publication date |
---|---|
JP5847744B2 (en) | 2016-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110063051B (en) | System and method for reconfiguring server and server | |
CN110062924B (en) | Capacity reservation for virtualized graphics processing | |
JP6571161B2 (en) | Method, apparatus, and system for exploring application topology relationships | |
US10515056B2 (en) | API for resource discovery and utilization | |
KR100928603B1 (en) | Method and system for optimizing virtual machine information, machine accessible media | |
TWI559153B (en) | Distributed computing framework | |
TW201905686A (en) | Processing method, device, virtualization device and readable storage medium for interrupt request | |
WO2018157836A1 (en) | Resource management method for programmable hardware, programmable hardware device, and storage medium | |
WO2019127191A1 (en) | File system sharing method and apparatus for multi-operating system, and electronic device | |
US20150186192A1 (en) | System and method for selecting a synchronous or asynchronous interprocess communication mechanism | |
JP7100154B6 (en) | Processor core scheduling method, device, terminal and storage medium | |
CN109144972B (en) | Data migration method and data node | |
JP5751711B2 (en) | Processing apparatus, method, and program capable of distributed processing in context-aware | |
US20210144515A1 (en) | Systems and methods for multi-access edge computing node selection | |
WO2013114620A1 (en) | Virtual machine control program, virtual machine control method and information processing device | |
CN109697114B (en) | Method and machine for application migration | |
JP5847744B2 (en) | Processing device, distributed processing method, and distributed processing program | |
US11314559B2 (en) | Method for balanced scale out of resources in distributed and collaborative container platform environment | |
CN107688479B (en) | Android system network cluster, construction method thereof, and Android system network cluster data processing method and system | |
JP5557612B2 (en) | Computer and transfer program | |
CN114448909A (en) | Ovs-based network card queue polling method and device, computer equipment and medium | |
US11030013B2 (en) | Systems and methods for splitting processing between device resources and cloud resources | |
US10374893B1 (en) | Reactive non-blocking input and output for target device communication | |
US20110191638A1 (en) | Parallel computer system and method for controlling parallel computer system | |
JP2017107382A (en) | Program execution system, program execution method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150226 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20151001 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20151005 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151013 |
|
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: 20151124 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151125 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5847744 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |