JP2014164568A - Terminal device, distributed processing method, distributed processing program, and distributed processing system - Google Patents

Terminal device, distributed processing method, distributed processing program, and distributed processing system Download PDF

Info

Publication number
JP2014164568A
JP2014164568A JP2013035769A JP2013035769A JP2014164568A JP 2014164568 A JP2014164568 A JP 2014164568A JP 2013035769 A JP2013035769 A JP 2013035769A JP 2013035769 A JP2013035769 A JP 2013035769A JP 2014164568 A JP2014164568 A JP 2014164568A
Authority
JP
Japan
Prior art keywords
server
throughput
application
execute
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013035769A
Other languages
Japanese (ja)
Inventor
Kazutomo Tomita
千智 富田
Shoji Toyama
将司 外山
Shunsuke Kurumaya
駿介 車谷
Kazufuka Chiba
一深 千葉
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 JP2013035769A priority Critical patent/JP2014164568A/en
Publication of JP2014164568A publication Critical patent/JP2014164568A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

PROBLEM TO BE SOLVED: To increase processing speed of an application in a mobile terminal.SOLUTION: In a mobile terminal 20, a communication state is measured and a throughput is predicted from the measured communication state by using a model created on the basis of information collected from the plurality of mobile terminals 20. Then, the mobile terminal 20 determines whether to cause the own device or a calculation processing server 40 to perform processing related to an application according to the predicted throughput, and controls so as to cause the own device or the calculation processing server 40 to perform the processing.

Description

本発明は、端末装置、分散処理方法、分散処理プログラムおよび分散処理システムに関する。   The present invention relates to a terminal device, a distributed processing method, a distributed processing program, and a distributed processing system.

近年、分散処理技術、通信技術、端末技術等のIT技術の発展、普及により、時間、場所に拘らずに必要な場面で必要なリソースを利用することが可能となりつつある。例えば、画像認識や動画編集などの負荷の高い処理を行うアプリケーションでは、サーバと端末との実行環境の特性に応じて実行する処理を振分け、分散処理を行うことで結果的に処理の高速化を図ることができる。   In recent years, with the development and popularization of IT technology such as distributed processing technology, communication technology, and terminal technology, it is becoming possible to use necessary resources in necessary scenes regardless of time and place. For example, in an application that performs heavy processing such as image recognition and video editing, the processing to be executed is distributed according to the characteristics of the execution environment between the server and the terminal, and the processing speed is increased as a result. Can be planned.

このサーバと端末との実行環境の特性に応じて実行する処理について、処理の実行環境の振分けの指定は、アプリ開発時に設定されて固定されるため、処理速度が低下する場合があった。例えば、通信環境の悪化等の外部要因によっては処理の実行環境を変更した方が良い場合が生じることもあり、上記のように処理の振分けが固定的であると結果的に応答時間が長くなり、ユーザビリティが下がる場合があった。これに対して、電界強度などの通信状況の測定結果をもとに、処理の実行をサーバへ切替えるか判断して動的に切替制御を行う技術が知られている。   Regarding the processing to be executed in accordance with the characteristics of the execution environment between the server and the terminal, the processing execution environment assignment specification is set and fixed at the time of application development, so the processing speed may be reduced. For example, depending on external factors such as deterioration of the communication environment, it may be better to change the execution environment of the process. As described above, if the process distribution is fixed, the response time becomes longer. In some cases, usability decreased. On the other hand, there is known a technique for performing dynamic switching control by determining whether to switch processing execution to a server based on a measurement result of a communication state such as electric field strength.

松岡宣、“作りながら覚えるAndroidプログラミング”、152ページ〜159ページ、ソフトバンク クリエイティブ株式会社、2011年3月28日Nobu Matsuoka, “Android programming to learn while creating”, pages 152-159, Softbank Creative, Inc., March 28, 2011

しかしながら、上記した電界強度などの通信状況の測定結果をもとに、処理の実行をサーバへ切替えるか判断して制御する技術では、応答時間悪化の原因の所在がアプリケーション実行環境か通信環境かが不明であり、適切な実行環境の切替制御ができず、端末におけるアプリケーションの処理速度が低下する場合があるという課題があった。   However, in the technology that determines whether to switch the execution of processing to the server based on the measurement result of the communication state such as the electric field strength described above, whether the cause of the response time deterioration is the application execution environment or the communication environment. There is a problem that it is unknown and switching of the appropriate execution environment cannot be performed, and the processing speed of the application in the terminal may decrease.

そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、端末におけるアプリケーションの処理速度を向上させることを目的とする。   Accordingly, 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 of an application in a terminal.

上述した課題を解決し、目的を達成するために、本発明に係る端末装置は、通信状況を測定する測定部と、複数の端末装置から収集された情報に基づいて作成されたモデルを用いて、前記測定部によって測定された通信状況からスループットを予測する予測部と、前記予測部によって予測されたスループットに応じて、アプリケーションに関する処理を自装置またはサーバに実行させるか判断し、自装置またはサーバに前記処理を実行させるように制御する制御部と、を有することを特徴とする。   In order to solve the above-described problems and achieve the object, a terminal device according to the present invention uses a measurement unit that measures a communication state and a model created based on information collected from a plurality of terminal devices. A prediction unit that predicts throughput from the communication status measured by the measurement unit, and determines whether the device or server is to execute processing related to the application according to the throughput predicted by the prediction unit. And a control unit that controls to execute the processing.

また、本発明に係る分散処理方法は、端末装置において実行される分散処理方法であって、通信状況を測定する測定工程と、複数の端末装置から収集された情報に基づいて作成されたモデルを用いて、前記測定工程によって測定された通信状況からスループットを予測する予測工程と、前記予測工程によって予測されたスループットに応じて、アプリケーションに関する処理を自装置またはサーバに実行させるか判断し、自装置またはサーバに前記処理を実行させるように制御する制御工程と、を含んだことを特徴とする。   The distributed processing method according to the present invention is a distributed processing method executed in a terminal device, and includes a measurement process for measuring a communication state and a model created based on information collected from a plurality of terminal devices. Using the prediction process for predicting the throughput from the communication status measured by the measurement process, and determining whether or not the apparatus or server is to execute processing related to the application according to the throughput predicted by the prediction process. Or a control step of controlling the server to execute the process.

また、本発明に係る分散処理プログラムは、通信状況を測定する測定ステップと、複数の端末装置から収集された情報に基づいて作成されたモデルを用いて、前記測定ステップによって測定された通信状況からスループットを予測する予測ステップと、前記予測ステップによって予測されたスループットに応じて、アプリケーションに関する処理を自装置またはサーバに実行させるか判断し、自装置またはサーバに前記処理を実行させるように制御する制御ステップと、をコンピュータに実行させることを特徴とする。   Further, the distributed processing program according to the present invention uses a measurement step for measuring a communication state and a model created based on information collected from a plurality of terminal devices, based on the communication state measured by the measurement step. A prediction step for predicting throughput, and control for determining whether or not the device or server is to execute the process related to the application according to the throughput predicted by the prediction step, and controlling the device or server to execute the process And causing the computer to execute the steps.

また、本発明に係る分散処理システムは、端末装置とサーバとを備える分散処理システムであって、前記端末装置は、通信状況を測定する測定部と、複数の端末装置から収集された情報に基づいて作成されたモデルを用いて、前記測定部によって測定された通信状況からスループットを予測する予測部と、前記予測部によって予測されたスループットに応じて、アプリケーションに関する処理を自装置またはサーバに実行させるか判断し、自装置またはサーバに前記処理を実行させるように制御する制御部と、を有し、前記サーバは、前記端末装置によってアプリケーションに関する処理をサーバに実行させると判断された場合には、該処理を実行し、前記端末装置に処理結果を送信する処理部を有することを特徴とする。   The distributed processing system according to the present invention is a distributed processing system including a terminal device and a server, and the terminal device is based on information collected from a measuring unit that measures a communication state and a plurality of terminal devices. A prediction unit that predicts throughput from the communication status measured by the measurement unit using the model created by the measurement unit, and causes the apparatus or server to execute processing related to the application according to the throughput predicted by the prediction unit A control unit that controls to cause the device or server to execute the process, and the server determines that the terminal device causes the server to execute a process related to an application. It has a processing part which performs this processing and transmits a processing result to the above-mentioned terminal unit.

実施形態に係る端末装置、分散処理方法、分散処理プログラムおよび分散処理システムは、端末におけるアプリケーションの処理速度を向上させることとか可能となる。   The terminal device, the distributed processing method, the distributed processing program, and the distributed processing system according to the embodiment can improve the processing speed of the application in the terminal.

図1は、第一の実施形態に係るシステムの構成の一例を示す図である。FIG. 1 is a diagram illustrating an example of a configuration of a system according to the first embodiment. 図2は、第一の実施形態に係るモバイル端末および各サーバの構成を説明するための図である。FIG. 2 is a diagram for explaining the configuration of the mobile terminal and each server according to the first embodiment. 図3は、モデルの生成処理について説明する図である。FIG. 3 is a diagram illustrating model generation processing. 図4は、スループットの分布について説明する図である。FIG. 4 is a diagram for explaining the distribution of throughput. 図5は、スループットの分布と閾値の関係について説明する図である。FIG. 5 is a diagram for explaining the relationship between the distribution of throughput and the threshold value. 図6は、オフロード判断処理について説明する図である。FIG. 6 is a diagram for explaining offload determination processing. 図7は、第一の実施形態に係るシステムの学習モデル生成処理の処理手順を示すシーケンス図である。FIG. 7 is a sequence diagram showing a processing procedure of learning model generation processing of the system according to the first embodiment. 図8は、第一の実施形態に係るモバイル端末の分散処理の処理手順を示すフローチャートである。FIG. 8 is a flowchart showing a processing procedure of distributed processing of the mobile terminal according to the first embodiment. 図9は、分散処理プログラムを実行するコンピュータを示す図である。FIG. 9 is a diagram illustrating a computer that executes a distributed processing program.

以下に添付図面を参照して、この発明に係る端末装置、分散処理方法、分散処理プログラムおよび分散処理システムの実施形態を詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。   Hereinafter, embodiments of a terminal device, a distributed processing method, a distributed processing program, and a distributed processing system according to the present invention will be described in detail with reference to the accompanying drawings. In addition, this invention is not limited by this embodiment.

[第一の実施形態]
まず、図1を用いて、第一の実施の形態に係るシステムの概要について説明する。図1は、本実施形態に係るシステムの構成を示すブロック図である。同図に示すように、本実施形態に係るシステムは、ネットワーク10、複数のモバイル端末20および予測モデル生成サーバ30、複数の演算処理サーバ40を有する。また、各モバイル端末20、予測モデル生成サーバ30および演算処理サーバ40は、ネットワーク10を介して、それぞれ接続されている。ここでネットワーク10とは、例えば、3G(3rd Generation)や、LTE(Long Term Evolution)、WiFi(Wireless Fidelity)(登録商標)などである。なお、各モバイル端末20および各サーバ30、40における通信は、無線通信に限定されるものではなく、有線通信であってもよい。なお、ここでは、各サーバ30、40と通信する装置として、モバイル端末20を例にして説明するが、後述するように、各サーバ30、40と通信する装置は、モバイル端末20に限定されるものではない。
[First embodiment]
First, the outline of the system according to the first embodiment will be described with reference to FIG. FIG. 1 is a block diagram showing a configuration of a system according to the present embodiment. As shown in the figure, the system according to the present embodiment includes a network 10, a plurality of mobile terminals 20, a prediction model generation server 30, and a plurality of arithmetic processing servers 40. In addition, each mobile terminal 20, the prediction model generation server 30, and the calculation processing server 40 are connected via the network 10. Here, the network 10 is, for example, 3G (3rd Generation), LTE (Long Term Evolution), WiFi (Wireless Fidelity) (registered trademark), or the like. Communication in each mobile terminal 20 and each server 30 and 40 is not limited to wireless communication, and may be wired communication. Here, the mobile terminal 20 is described as an example of an apparatus that communicates with each of the servers 30 and 40. However, as will be described later, an apparatus that communicates with each of the servers 30 and 40 is limited to the mobile terminal 20. It is not a thing.

また、以下の説明では、各モバイル端末20が分散実行環境を有する各演算処理サーバ40と協調してアプリケーションを実行するシステムについて説明するが、このシステムは、このような実施形態に限定されるものではない。例えば、モバイル端末20同士や演算処理サーバ40同士で協調してアプリケーションを実行するシステムであってもよい。また、このシステムでは、各モバイル端末20および各演算処理サーバ40等の実行環境の種類や、実行するアプリケーションの種別が同一であってもよい。   In the following description, a system in which each mobile terminal 20 executes an application in cooperation with each arithmetic processing server 40 having a distributed execution environment will be described. However, this system is limited to such an embodiment. is not. For example, a system that executes applications in cooperation between mobile terminals 20 or between arithmetic processing servers 40 may be used. In this system, the types of execution environments of the mobile terminals 20 and the arithmetic processing servers 40 and the types of applications to be executed may be the same.

各モバイル端末20は、各種アプリケーションを実行する情報処理装置である。各モバイル端末20は、各サーバ40と協調してアプリケーションを実行する。例えば、モバイル端末20は、携帯電話、PHS(Personal Handyphone System)、PDA(Personal Digital Assistant)、タブレットPC(Personal Computer)等、インターネットに接続して、各サーバ30、40や他のユーザ端末との間で情報を送受信できるものであれば、任意の装置であってよい。また、モバイル端末に限定されず、家庭またはオフィスに設置されたコンピュータを使用してもよい。   Each mobile terminal 20 is an information processing apparatus that executes various applications. Each mobile terminal 20 executes an application in cooperation with each server 40. For example, the mobile terminal 20 is connected to the Internet such as a mobile phone, a PHS (Personal Handyphone System), a PDA (Personal Digital Assistant), a tablet PC (Personal Computer), etc., and is connected to each of the servers 30 and 40 and other user terminals. Any device can be used as long as it can transmit and receive information between them. In addition, the computer is not limited to a mobile terminal, and a computer installed in a home or office may be used.

モバイル端末20は、通信状況を測定し、複数のモバイル端末20から収集された情報に基づいて作成されたモデルを用いて、測定された通信状況からスループットを予測する。また、モバイル端末20は、スループットを用いて、アプリに関する演算処理をモバイル端末20から演算処理サーバ40にオフロードするかどうかを判断し、アプリケーションに関する演算処理を自装置または演算処理サーバ40に実行させるように制御する。   The mobile terminal 20 measures the communication status, and predicts the throughput from the measured communication status using a model created based on information collected from the plurality of mobile terminals 20. In addition, the mobile terminal 20 determines whether or not to offload the arithmetic processing related to the application from the mobile terminal 20 to the arithmetic processing server 40 using the throughput, and causes the own device or the arithmetic processing server 40 to execute the arithmetic processing related to the application. To control.

予測モデル生成サーバ30は、複数のモバイル端末20から通信に関するデータを収集し、スループットを予測するためのモデルを生成する。演算処理サーバ40は、モバイル端末20におけるアプリケーションに関する演算処理を実行し、モバイル端末20に実行結果を送信する。   The prediction model generation server 30 collects data related to communication from a plurality of mobile terminals 20 and generates a model for predicting throughput. The arithmetic processing server 40 executes arithmetic processing related to the application in the mobile terminal 20 and transmits the execution result to the mobile terminal 20.

次に、図2を用いて、モバイル端末20および各サーバ30、40の構成を説明する。図2は、第一の実施形態に係るモバイル端末および各サーバの構成を説明するための図である。   Next, the structure of the mobile terminal 20 and each server 30 and 40 is demonstrated using FIG. FIG. 2 is a diagram for explaining the configuration of the mobile terminal and each server according to the first embodiment.

まず、予測モデル生成サーバ30の構成について説明する。予測モデル生成サーバ30は、データ収集部31およびモデル生成部32を有する。   First, the configuration of the prediction model generation server 30 will be described. The prediction model generation server 30 includes a data collection unit 31 and a model generation unit 32.

データ収集部31は、3Gや、LTE、WiFiなどのネットワーク10を介して、複数のモバイル端末20から通信に関するデータを収集する。例えば、データ収集部31は、図3に示すように、複数のモバイル端末20から通信に関するデータとして、無線通信状況パラメータである遅延や電界強度などのデータを収集する。   The data collection unit 31 collects data related to communication from a plurality of mobile terminals 20 via the network 10 such as 3G, LTE, or WiFi. For example, as illustrated in FIG. 3, the data collection unit 31 collects data such as delay and electric field strength, which are wireless communication status parameters, as data related to communication from the plurality of mobile terminals 20.

モデル生成部32は、データ収集部31によって収集された通信に関するデータを用いて、スループットを予測するためのモデルを生成する。また、モデル生成部32は、データ収集部31によって通信に関するデータが収集されるごとに、該データを解析し、モデルを更新する。例えば、モデル生成部32は、データ収集部31によって収集された通信に関するデータの平均や分散をもとめることで分析・学習し、モデルを生成する。例えば、ここで生成されるモデルとしては、A(例えば、電界強度、RTT(Round-Trip Time))が分かれば、B(スループット)が分かる、AとBの関係式である。そして、モデル生成部32は、モデルを生成した後、図3に示すように、生成したモデルをモバイル端末20に送信する。   The model generation unit 32 generates a model for predicting the throughput using the data related to communication collected by the data collection unit 31. In addition, each time data related to communication is collected by the data collection unit 31, the model generation unit 32 analyzes the data and updates the model. For example, the model generation unit 32 performs analysis / learning by obtaining the average and variance of the communication-related data collected by the data collection unit 31, and generates a model. For example, as a model generated here, if A (for example, electric field strength, RTT (Round-Trip Time)) is known, B (throughput) is known, and a relational expression between A and B. Then, after generating the model, the model generation unit 32 transmits the generated model to the mobile terminal 20 as shown in FIG.

ここで、学習および予測の方法についての一例を説明する。ここで説明する例としては、例えば、学習パラメータを、事前にモバイル端末20から収集されたNW種別(3Gや、LTE、WiFiなど)、電界強度、RTTや、スループットとし、説明変数(予測に利用するパラメータ)を、アプリケーションを実行する直前のモバイル端末20のNW種別(3Gや、LTE、WiFiなど)、電界強度やRTTとし、目的変数(予測結果)を、アプリケーションを実行する直前のスループットとする。なお、学習・予測方法、学習パラメータ、説明変数、目的変数は適宜変更可能である。   Here, an example of a learning and prediction method will be described. As an example described here, for example, the learning parameters are NW types (3G, LTE, WiFi, etc.), electric field strength, RTT, and throughput collected from the mobile terminal 20 in advance, and explanatory variables (used for prediction) The NW type (3G, LTE, WiFi, etc.), electric field strength, and RTT of the mobile terminal 20 immediately before executing the application, and the objective variable (prediction result) as the throughput immediately before executing the application. . The learning / prediction method, learning parameters, explanatory variables, and objective variables can be changed as appropriate.

各学習パラメータを収集し、説明変数{NW種別、電界強度、RTT}がどのような状態の時に目的変数{スループット}がいくつになるかを回帰分析する。回帰分析した結果は、説明変数{NW種別、電界強度、RTT}と目的変数{スループット}の関係式(モデル)として求められる。   Each learning parameter is collected, and regression analysis is performed to determine what the objective variable {throughput} is when the explanatory variable {NW type, electric field strength, RTT} is in a state. The result of the regression analysis is obtained as a relational expression (model) of the explanatory variable {NW type, electric field strength, RTT} and the objective variable {throughput}.

また、学習のタイミングとしては、ストリーム処理、バッチ処理、またはストリーム処理とバッチ処理とを組み合わせた処理が考えられる。いずれを選択するかは、ユーザによって適宜変更設定することができる。このストリーム処理(Jubatus(登録商標)等を使うリアルタイム分析)は、その時間に取得したデータを用いて機械学習を行うので、その時間の収集データ量が多い時に有効である。また、バッチ処理は、日、週、季節、年などの単位でデータを蓄積し、機械学習を行うので、周期ごとの傾向が分かり、長期的にデータが取得できる場合に有効であり、さらに、その時間の収集データ量が少なくても分析可能である。また、ストリーム処理とバッチ処理とを組み合わせた処理は、バッチ処理で周期毎の傾向を把握し、その瞬間のストリーム処理の結果と比較することで、異常検知が可能である、その時間の収集データ量が少なくてもよりよい精度で分析することが可能である。   The learning timing may be stream processing, batch processing, or processing that combines stream processing and batch processing. Which one to select can be changed and set as appropriate by the user. This stream processing (real-time analysis using Jubatus (registered trademark) or the like) is effective when the amount of collected data at that time is large because machine learning is performed using data acquired at that time. In addition, batch processing accumulates data in units of days, weeks, seasons, years, etc., and performs machine learning, so it is effective when you can understand trends for each cycle and acquire data in the long term. Analysis is possible even if the amount of data collected during that time is small. In addition, the combined processing of stream processing and batch processing is the collected data of that time that can detect anomalies by grasping the trend of each cycle in batch processing and comparing it with the result of stream processing at that moment Even a small amount can be analyzed with better accuracy.

また、後述するモバイル端末20の予測部22bは、アプリケーションを使おうとする時に、その場で目的変数{NW種別、電界強度、RTT}を測定し、それらの値を関係式に当てはめることで、図4に例示するように、目的変数を測定した時から数分間先までの目的変数{スループットの分布}を予測するようにしてもよい。図4に示すように、演算処理サーバ40へアプリケーションの処理をオフロードするかのオフロード判断を行った後、アプリケーションを使用している時間中は、時間の経過とともに、測定されるスループットが変化する。このため、モデル生成部32は、ある時点のスループットを予測するモデルを生成するだけでなく、所定の時間中のスループットの分布を予測することができるモデルを生成するようにしてもよい。また、混雑した時間帯毎に学習することで、高い精度で予測できる。   Further, the prediction unit 22b of the mobile terminal 20, which will be described later, measures the objective variables {NW type, electric field strength, RTT} on the spot when trying to use the application, and applies these values to the relational expression. As exemplified in FIG. 4, the objective variable {throughput distribution} from the time when the objective variable is measured to several minutes ahead may be predicted. As shown in FIG. 4, after an offload determination is made on whether to offload application processing to the arithmetic processing server 40, the measured throughput changes as time passes while the application is used. To do. For this reason, the model generation unit 32 may generate not only a model that predicts throughput at a certain point of time, but also a model that can predict the distribution of throughput during a predetermined time. Moreover, it can predict with high precision by learning for every crowded time zone.

図2の説明に戻って、モバイル端末20について説明する。モバイル端末20は、アプリケーション21および該アプリの実行箇所を切り替えるアプリ実行箇所切替部22を有する。アプリケーション21は、演算処理を実行する演算処理部21aを有する。この演算処理部21aは、演算処理サーバ40の演算処理部41aと同一のものである。演算処理部21aは、アプリを実行する際に、制御部22cに対して、演算処理サーバ40へアプリケーションの処理をオフロードするか否かを問い合わせる。   Returning to the description of FIG. 2, the mobile terminal 20 will be described. The mobile terminal 20 includes an application 21 and an application execution location switching unit 22 that switches an execution location of the application. The application 21 includes an arithmetic processing unit 21a that executes arithmetic processing. The arithmetic processing unit 21 a is the same as the arithmetic processing unit 41 a of the arithmetic processing server 40. When executing the application, the arithmetic processing unit 21a inquires of the control unit 22c whether to offload application processing to the arithmetic processing server 40.

アプリ実行箇所切替部22は、アプリケーションを実行するための演算処理をモバイル端末20で実行するか演算処理サーバ40で実行するかを判断して、切り替える。アプリ実行箇所切替部22は、実行箇所を切り替える測定部22a、予測部22bおよび制御部22cを有する。   The application execution location switching unit 22 determines whether to execute the arithmetic processing for executing the application on the mobile terminal 20 or the arithmetic processing server 40 and switches the processing. The application execution location switching unit 22 includes a measurement unit 22a, a prediction unit 22b, and a control unit 22c that switch execution locations.

測定部22aは、通信状況を測定する。具体的には、測定部22aは、アプリケーションを実行する直前に、通信状況に関する情報として、アプリケーション実行直前において利用されているNW種別や、アプリケーション実行直前の電界強度およびRTTを測定し、予測部22bに通知する。   The measurement unit 22a measures the communication status. Specifically, immediately before the application is executed, the measurement unit 22a measures the NW type used immediately before the application execution, the electric field strength and the RTT immediately before the application execution as information on the communication status, and the prediction unit 22b. Notify

予測部22bは、複数のモバイル端末20から収集された情報に基づいて作成されたモデルを用いて、測定部22aによって測定された通信状況からスループットを予測する。例えば、予測部22bは、測定部22aによって測定されたA{NW種別、電界強度、RTT}をモデルに適用し、B{スループット}を予測する。   The prediction unit 22b predicts the throughput from the communication status measured by the measurement unit 22a using a model created based on information collected from the plurality of mobile terminals 20. For example, the prediction unit 22b applies A {NW type, electric field strength, RTT} measured by the measurement unit 22a to the model, and predicts B {throughput}.

また、上記したように、アプリケーションを使っている間数分間のスループットを分布として予測してもよい。ある時点のスループットではなく、所定の時間帯のスループットの分布を予測することで、混んでいる時間帯などスループットの値の変動が大きいときの予測にも対応できる。つまり、図5に例示するように、混んでいる時間帯などスループットの値の変動が大きいときに、オフロードの判断が頻繁に切り替わることがないように、スループットの分布とオフロードを行うか否かの判断を行うためのスループットの閾値とを比較して、オフロードの成功確率(図5の例では、オフロード成功率80%)を解析することができる。このように、所定の時間帯のスループットの分布を予測して閾値の設定した場合のオフロード成功率を求めておくことで、アプリケーション実行中に何度もスループットを予測する必要がなくなり、さらに閾値ごとに学習する必要がないというメリットがある。   Further, as described above, throughput for several minutes while using an application may be predicted as a distribution. By predicting the distribution of throughput in a predetermined time zone instead of the throughput at a certain point in time, it is possible to cope with prediction when the fluctuation of the throughput value is large, such as a crowded time zone. In other words, as illustrated in FIG. 5, whether the distribution of the throughput and the offload are performed so that the determination of the offload is not frequently switched when the fluctuation of the throughput value is large, such as a busy time zone. It is possible to analyze the offload success probability (in the example of FIG. 5, the offload success rate is 80%) by comparing with the throughput threshold for making such a determination. In this way, it is not necessary to predict the throughput many times during application execution by calculating the success rate of offload when the threshold distribution is set by predicting the distribution of throughput in a predetermined time zone. There is an advantage that it is not necessary to learn every time.

制御部22cは、予測部22bによって予測されたスループットに応じて、アプリケーションに関する処理を自装置または演算処理サーバ40に実行させるか判断し、自装置または演算処理サーバ40に実行させるように制御する。   The control unit 22c determines whether the processing related to the application is to be executed by the own device or the arithmetic processing server 40 according to the throughput predicted by the prediction unit 22b, and controls the own device or the arithmetic processing server 40 to execute the processing.

例えば、制御部22cは、予測されたスループットを用いて、サーバ側で処理を実行した場合にかかる実行時間を算出し、算出したサーバ側で処理を実行した場合にかかる実行時間と自装置側で処理を実行した場合にかかる実行時間とを比較し、比較の結果に応じて、処理を自装置またはサーバに実行させるように制御する。   For example, the control unit 22c uses the predicted throughput to calculate an execution time when the process is executed on the server side, and the execution time required when the process is executed on the server side and the own apparatus side. The execution time required when the process is executed is compared, and control is performed so that the apparatus or the server executes the process according to the comparison result.

図6の例を用いて説明すると、制御部22cは、モバイル端末側処理時間(EC)が、オーバーヘッド(OV)とサーバ処理時間(ES)とNW通信時間(上り、下り)との合計時間よりも大きい場合には、演算処理サーバ40へアプリケーションの処理をオフロードし、小さい場合には、自装置で処理を実行する。ここでオーバーヘッドとは、通信時間を求めるために必要な時間および説明変数を測定するために必要な時間であり事前に把握されている。また、モバイル端末側処理時間(EC)およびサーバ処理時間(ES)は、過去の実行時間から統計的に把握された時間である。また、制御部22cは、NW通信時間(NT)については、下記(1)式を用いて算出する。   If it demonstrates using the example of FIG. 6, as for the control part 22c, mobile terminal side processing time (EC) will be based on the total time of overhead (OV), server processing time (ES), and NW communication time (up and down). If it is larger, the application processing is offloaded to the arithmetic processing server 40, and if it is smaller, the processing is executed by the own apparatus. Here, the overhead is a time required for obtaining the communication time and a time required for measuring the explanatory variable, and is known in advance. Further, the mobile terminal side processing time (EC) and the server processing time (ES) are times statistically grasped from the past execution time. Moreover, the control part 22c calculates NW communication time (NT) using the following (1) formula.

Figure 2014164568
Figure 2014164568

このように、演算処理サーバ40で実行した方が実行時間が短ければ、アプリケーションに関する演算処理を演算処理サーバ40へオフロードするので、アプリケーション処理の効率向上を目的とし、アプリケーション実行環境の切替制御を実現することが可能である。   In this way, if the execution time is shorter in the arithmetic processing server 40, the arithmetic processing related to the application is offloaded to the arithmetic processing server 40. Therefore, the application execution environment switching control is performed for the purpose of improving the efficiency of the application processing. It is possible to realize.

また、例えば、制御部22cは、予め実行するアプリケーションごとにかかる処理時間を基に設定された閾値が設定され、予測部22bによって予測されたスループットが予め設定された閾値を超えている場合には、アプリケーションに関する処理を演算処理サーバ40に実行させ、超えていない場合には、アプリケーションに関する処理を自装置に実行させるようにしてもよい。   Further, for example, when the threshold set based on the processing time required for each application to be executed in advance is set and the throughput predicted by the prediction unit 22b exceeds the preset threshold, The processing server 40 may execute processing related to the application, and if it does not exceed, processing related to the application may be executed by the own apparatus.

また、上記したように処理時間をパラメータとしたオフロードの判断を行う場合の他に、電池消費量、アプリ要求精度(例えば、画像認識の精度)、各NWにかかる料金を用いてオフロードの判断を行ってもよい。例えば、省電力を目的として、測定したスループットから演算処理サーバ40で実行した場合の電池消費量を算出し、モバイル端末20で実行した場合の電池消費量と演算処理サーバ40で実行した場合の電池消費量との比較によりオフロードの判断を行うようにしてもよい。つまり、モバイル端末20で実行した場合よりも演算処理サーバ40で実行した方が、電池消費量が低い場合には、オフロードして演算処理サーバ40に処理を実行させる。このスループットに対する電池消費量に関する情報は、アプリケーションを実行した場合に、どれくらいの時間でどれくらい電池を消費するかを測定することで取得できる。   Moreover, in addition to the case where the offload is determined using the processing time as a parameter as described above, the offload is determined using the battery consumption, the accuracy required for the application (for example, the accuracy of image recognition), and the charge for each NW Judgment may be made. For example, for the purpose of power saving, the battery consumption when executed by the arithmetic processing server 40 is calculated from the measured throughput, and the battery consumption when executed by the mobile terminal 20 and the battery when executed by the arithmetic processing server 40 are calculated. You may make it judge offload by comparison with consumption. In other words, when the battery consumption is lower when executed by the arithmetic processing server 40 than when executed by the mobile terminal 20, it is offloaded and the arithmetic processing server 40 executes the process. Information on the battery consumption with respect to the throughput can be obtained by measuring how much battery is consumed in how long the application is executed.

また、アプリケーションの精度を重視する場合には、測定したスループットから演算処理サーバ40で実行した場合のアプリ要求精度を算出し、アプリ要求精度に応じてオフロードの判断を行ってもよい。つまり、アプリ要求精度が低いようなアプリケーションを起動した場合には、オフロードして演算処理サーバ40に処理を実行させる。このアプリ要求精度に関する情報は、予めユーザにより設定されているものとする。   Further, when importance is placed on the accuracy of the application, the application request accuracy when executed by the arithmetic processing server 40 may be calculated from the measured throughput, and the offload may be determined according to the application request accuracy. In other words, when an application with low application request accuracy is activated, it is offloaded and the arithmetic processing server 40 executes the process. It is assumed that the information related to the application request accuracy is set in advance by the user.

また、料金を重視する場合には、測定したスループットから演算処理サーバ40で実行した場合のNWにかかる料金を算出し、NWにかかる料金に応じてオフロードの判断を行ってもよい。つまり、NWにかかる料金が少なくて済むアプリケーションを起動した場合には、オフロードして演算処理サーバ40に処理を実行させる。このNWにかかる料金に関する情報は、事前にユーザにより設定されているものとする。なお、上記した各種パラメータは、機械学習により最適化するようにしてもよい。   Further, in the case where the charge is regarded as important, the charge for the NW when executed by the processing server 40 may be calculated from the measured throughput, and the offload may be determined according to the charge for the NW. That is, when an application that requires a small NW fee is activated, it is offloaded and the processing server 40 executes the process. It is assumed that the information related to the NW fee is set in advance by the user. The various parameters described above may be optimized by machine learning.

図2に戻って、演算処理サーバ40は、アプリケーション41を有する。アプリケーション41の演算処理部41aは、モバイル端末20によってアプリケーションに関する処理をサーバに実行させると判断された場合には、モバイル端末20におけるアプリケーションに関する演算処理を実行し、モバイル端末20に処理結果を送信する。   Returning to FIG. 2, the arithmetic processing server 40 has an application 41. If it is determined by the mobile terminal 20 to cause the server to execute processing relating to the application, the arithmetic processing unit 41 a of the application 41 executes arithmetic processing relating to the application in the mobile terminal 20 and transmits the processing result to the mobile terminal 20. .

なお、例えば、大地震などが起こり、急激な通信状況の悪化を異常検知した場合には、スループット予測をせず、オフロードをしないと判断しないようにしてもよい。これにより、緊急時にはNWの利用を控え、安否確認に関係のないアプリによるNWの圧迫を防ぐことができる。また、異常値を利用しないので、通常のデータの過学習を防ぐことができる。   Note that, for example, when a major earthquake or the like occurs and an abnormal detection of a sudden deterioration in communication status is detected, throughput prediction may not be performed and it may not be determined that offloading is not performed. This makes it possible to refrain from using the NW in an emergency and to prevent the NW from being compressed by an application unrelated to safety confirmation. Moreover, since no abnormal value is used, overlearning of normal data can be prevented.

[システムによる学習モデル生成処理]
次に、図7を用いて、第一の実施形態に係るシステムによる処理を説明する。図7は、第一の実施形態に係るシステムの学習モデル生成処理の処理手順を示すシーケンス図である。
[Learning model generation processing by the system]
Next, processing by the system according to the first embodiment will be described with reference to FIG. FIG. 7 is a sequence diagram showing a processing procedure of learning model generation processing of the system according to the first embodiment.

図7に示すように、各モバイル端末20の測定部22aは、無線ネットワークに接続し、無線通信状況パラメータ(遅延、電界強度など)と、スループットを測定する(ステップS101)。そして、予測モデル生成サーバ30のデータ収集部31は、各モバイル端末20に対して無線通信状況パラメータとスループットのデータ収集を要求する(ステップS102)。例えば、データ収集部31は、一定間隔で、NW越しに自動送信するように要求することで、無線通信状況パラメータとスループットのデータを各モバイル端末20に対して要求する。   As shown in FIG. 7, the measurement unit 22a of each mobile terminal 20 connects to a wireless network, and measures wireless communication status parameters (delay, electric field strength, etc.) and throughput (step S101). Then, the data collection unit 31 of the prediction model generation server 30 requests each mobile terminal 20 to collect data on wireless communication status parameters and throughput (step S102). For example, the data collection unit 31 requests each mobile terminal 20 for wireless communication status parameters and throughput data by requesting automatic transmission over a NW at regular intervals.

そして、データ収集部31は、無線通信状況パラメータとスループットのデータの各モバイル端末20から取得し(ステップS103)、取得したデータを所定の記憶部に蓄積するとともに(ステップS104)、モデル生成部32に取得したデータを通知する(ステップS105)。そして、モデル生成部32は、収集したデータを学習し、モデルを生成して(ステップS106)、アプリを使用しているモバイル端末20の予測部22bに生成したモデルを通知する(ステップS107)。   Then, the data collection unit 31 acquires wireless communication status parameters and throughput data from each mobile terminal 20 (step S103), accumulates the acquired data in a predetermined storage unit (step S104), and the model generation unit 32. Is notified of the acquired data (step S105). And the model production | generation part 32 learns the collected data, produces | generates a model (step S106), and notifies the produced | generated model to the prediction part 22b of the mobile terminal 20 which is using the application (step S107).

[モバイル端末による分散処理]
次に、図8を用いて、モバイル端末の分散処理の一例について説明する。図8は、第一の実施形態に係るモバイル端末の分散処理の処理手順を示すフローチャートである。図8に示すように、モバイル端末20の測定部22aは、アプリケーション使用の要求をユーザから受け付けると(ステップS201肯定)、電界強度およびRTTを測定する(ステップS202)。
[Distributed processing by mobile devices]
Next, an example of mobile terminal distributed processing will be described with reference to FIG. FIG. 8 is a flowchart showing a processing procedure of distributed processing of the mobile terminal according to the first embodiment. As illustrated in FIG. 8, when the measurement unit 22a of the mobile terminal 20 receives a request for using an application from the user (Yes in Step S201), the measurement unit 22a measures the electric field strength and the RTT (Step S202).

そして、モバイル端末20の予測部22bは、予測モデル生成サーバ30により生成されたモデルを用いて、電界強度およびRTTからスループットを予測する(ステップS203)。続いて、モバイル端末20の制御部22cは、スループットから演算処理サーバ40側で実行した場合の実行時間を算出する(ステップS204)。   Then, the prediction unit 22b of the mobile terminal 20 predicts the throughput from the electric field strength and the RTT using the model generated by the prediction model generation server 30 (step S203). Subsequently, the control unit 22c of the mobile terminal 20 calculates an execution time when executed on the side of the arithmetic processing server 40 from the throughput (step S204).

そして、制御部22cは、演算処理サーバ40側で実行した方がモバイル端末20側で実行するより早いか判定する(ステップS205)。具体的には、制御部22cは、予測されたスループットを用いて、サーバ側で処理を実行した場合にかかる実行時間を算出し、算出したサーバ側で処理を実行した場合にかかる実行時間と自装置側で処理を実行した場合にかかる実行時間とを比較し、比較の結果に応じて、処理を自装置またはサーバに実行させるように制御する。   Then, the control unit 22c determines whether the execution on the arithmetic processing server 40 side is faster than the execution on the mobile terminal 20 side (step S205). Specifically, the control unit 22c uses the predicted throughput to calculate an execution time when the process is executed on the server side, and automatically calculates the execution time required when the process is executed on the server side. The execution time required when the process is executed on the apparatus side is compared, and control is performed so that the own apparatus or the server executes the process according to the comparison result.

この結果、制御部22cは、演算処理サーバ40側で実行した方がモバイル端末20側で実行するより早い場合には(ステップS205肯定)、演算処理サーバ40側でアプリケーションに関する演算処理を実行させる(ステップS206)。また、制御部22cは、演算処理サーバ40側で実行した方がモバイル端末20側で実行するより遅い場合には(ステップS205否定)、モバイル端末20側でアプリケーションに関する演算処理を実行させる(ステップS207)。   As a result, if the control unit 22c is faster to execute on the arithmetic processing server 40 side than the mobile terminal 20 side (Yes in step S205), the control unit 22c executes arithmetic processing related to the application on the arithmetic processing server 40 side ( Step S206). In addition, when the execution on the calculation processing server 40 side is slower than the execution on the mobile terminal 20 side (No at Step S205), the control unit 22c causes the mobile terminal 20 to execute the calculation process on the application (Step S207). ).

[第一の実施形態の効果]
上述してきたように、モバイル端末20では、通信状況を測定し、複数のモバイル端末20から収集された情報に基づいて作成されたモデルを用いて、測定された通信状況からスループットを予測し、予測されたスループットに応じて、アプリケーションに関する処理を自装置または演算処理サーバ40に実行させるか判断し、自装置または演算処理サーバ40に処理を実行させるように制御する。このため、モバイル端末20は、他端末を含む通信環境の状況等も加味してより高い精度で適切なアプリケーション実行環境を選定し、シームレスな切替制御を自律的に実行することができ、モバイル端末20におけるアプリケーションの処理速度を向上させることが可能である。
[Effect of the first embodiment]
As described above, the mobile terminal 20 measures the communication status, predicts the throughput from the measured communication status using the model created based on the information collected from the plurality of mobile terminals 20, and predicts it. In accordance with the throughput thus determined, it is determined whether the processing related to the application is to be executed by the own device or the arithmetic processing server 40, and control is performed so that the own device or the arithmetic processing server 40 executes the processing. For this reason, the mobile terminal 20 can select an appropriate application execution environment with higher accuracy in consideration of the communication environment including other terminals, etc., and can autonomously execute seamless switching control. The processing speed of the application at 20 can be improved.

また、第一の実施形態によれば、柔軟にアプリケーションを実行する箇所を切り替えることで、処理速度を最適化した状態でアプリケーションを使うことができる。また、モバイル端末20のスペックが悪く、通信状況がいい場合にはサーバで処理を行うことで処理を高速化できる。また、モバイル端末20のスペックが良いのにもかかわらず演算処理サーバ側で処理を行っている場合には、モバイル端末20で実行することによって、NWを無駄に利用する必要がなくなり、帯域を圧迫しない。また、モバイル端末20で取得できる情報だけでスループットの予測を行うため、通信事業者でない企業や個人でもスループットを把握することができる。また、短時間かつモバイル端末20で取得できるパラメータを用いてスループットを予測し、予測した結果を元にアプリ実行箇所を柔軟に選択することができる。   Further, according to the first embodiment, the application can be used in a state in which the processing speed is optimized by switching the place where the application is executed flexibly. Further, when the specifications of the mobile terminal 20 are poor and the communication status is good, the processing can be speeded up by performing processing on the server. In addition, when processing is performed on the arithmetic processing server side even though the specifications of the mobile terminal 20 are good, it is not necessary to use the NW wastefully by executing it on the mobile terminal 20, and the bandwidth is compressed. do not do. In addition, since throughput is predicted using only information that can be acquired by the mobile terminal 20, it is possible for companies and individuals who are not telecommunications carriers to grasp the throughput. In addition, throughput can be predicted using parameters that can be acquired in a short time in the mobile terminal 20, and an application execution location can be flexibly selected based on the predicted result.

また、第一の実施形態によれば、モバイル端末20側で収集可能な情報を基に他端末の実行状況データも活用して機械学習で予測したスループットを用いて、通信環境の状況等も加味した適切なアプリケーション実行環境を選定し、シームレスな切替制御を自律的に実行することが可能である。また、複数台のモバイル端末からデータを収集してモデルを生成するので、一台で収集したデータだけではなく集合知としてのデータを利用するため、より精度の高い予測が可能となる。   In addition, according to the first embodiment, using the throughput predicted by machine learning using the execution status data of other terminals based on information that can be collected on the mobile terminal 20 side, the communication environment status and the like are also taken into account. Therefore, it is possible to autonomously execute seamless switching control by selecting an appropriate application execution environment. In addition, since data is collected from a plurality of mobile terminals and a model is generated, not only data collected by a single device but also data as collective intelligence is used, so that prediction with higher accuracy is possible.

[システム構成]
また、本実施形態において説明した各処理の内、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上述文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[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.

また、例えば、予測モデル生成サーバ30を設けずに、データ収集部およびモデル生成部をモバイル端末20が備えるようにしてもよい。また、スループットの予測およびオフロードするか否かの判断する処理、または、スループットの予測処理を、モバイル端末20ではなく外部のサーバ等に実行させるようにしてもよい。   Further, for example, the mobile terminal 20 may include a data collection unit and a model generation unit without providing the prediction model generation server 30. Further, it is also possible to cause the external server or the like not to execute the process of predicting throughput and determining whether or not to offload, or the process of predicting throughput.

[プログラム]
図9は、開示の技術に係る分散処理プログラムによる情報処理がコンピュータを用いて具体的に実現されることを示す図である。図9に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU(Central Processing Unit)1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。コンピュータ1000の各部はバス1080によって接続される。
[program]
FIG. 9 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. 9, the computer 1000 includes, for example, a memory 1010, a CPU (Central Processing Unit) 1020, a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, A network interface 1070. Each part of the computer 1000 is connected by a bus 1080.

メモリ1010は、図9に例示するように、ROM1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、図9に例示するように、ハードディスクドライブ1031に接続される。ディスクドライブインタフェース1040は、図9に例示するように、ディスクドライブ1041に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1041に挿入される。シリアルポートインタフェース1050は、図9に例示するように、例えばマウス1051、キーボード1052に接続される。ビデオアダプタ1060は、図9に例示するように、例えばディスプレイ1061に接続される。   The memory 1010 includes a ROM 1011 and a RAM 1012 as illustrated in FIG. The ROM 1011 stores a boot program such as BIOS (Basic Input Output System). The hard disk drive interface 1030 is connected to the hard disk drive 1031 as illustrated in FIG. The disk drive interface 1040 is connected to the disk drive 1041 as illustrated in FIG. For example, a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1041. The serial port interface 1050 is connected to a mouse 1051 and a keyboard 1052, for example, as illustrated in FIG. The video adapter 1060 is connected to a display 1061, for example, as illustrated in FIG.

ここで、図9に例示するように、ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、開示の技術に係る分散処理プログラムは、コンピュータによって実行される指令が記述されたプログラムモジュール1093として、例えばハードディスクドライブ1031に記憶される。具体的には、上記実施形態で説明した制御部12の各部と同様の情報処理を実行する手順各々が記述されたプログラムモジュールが、ハードディスクドライブ1031に記憶される。   Here, as illustrated in FIG. 9, the hard disk drive 1031 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. That is, the distributed processing program according to the disclosed technology is stored in, for example, the hard disk drive 1031 as the program module 1093 in which a command to be executed by the computer is described. Specifically, a program module in which a procedure for executing the same information processing as each unit of the control unit 12 described in the above embodiment is described is stored in the hard disk drive 1031.

また、分散処理プログラムによる情報処理に用いられるデータは、プログラムデータ1094として、例えばハードディスクドライブ1031に記憶される。そして、CPU1020が、ハードディスクドライブ1031に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出し、各種の手順を実行する。   Data used for information processing by the distributed processing program is stored as program data 1094 in, for example, the hard disk drive 1031. The CPU 1020 reads out the program module 1093 and the program data 1094 stored in the hard disk drive 1031 to the RAM 1012 as necessary, and executes various procedures.

なお、分散処理プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限られない。例えば、プログラムモジュール1093やプログラムデータ1094は、着脱可能な記憶媒体に記憶されても良い。この場合、CPU1020は、ディスクドライブなどの着脱可能な記憶媒体を介してデータを読み出す。また、同様に、分散処理プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されても良い。この場合、CPU1020は、ネットワークインタフェースを介して他のコンピュータにアクセスすることで各種データを読み出す。   Note that the program module 1093 and the program data 1094 related to the distributed processing program are not limited to being stored in the hard disk drive 1031. For example, the program module 1093 and the program data 1094 may be stored in a removable storage medium. In this case, the CPU 1020 reads data via a removable storage medium such as a disk drive. Similarly, the program module 1093 and the program data 1094 related to the distributed processing program may be stored in another computer connected via a network (LAN (Local Area Network), WAN (Wide Area Network), etc.). good. In this case, the CPU 1020 reads various data by accessing another computer via the network interface.

[その他]
なお、本実施形態で説明した分散処理プログラムは、インターネットなどのネットワークを介して配布することができる。また、制御プログラムは、ハードディスク、フレキシブルディスク(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、41 アプリケーション
22a 測定部
22b 予測部
22c 制御部
30 予測モデル生成サーバ
31 データ収集部
32 モデル生成部
40 演算処理サーバ
DESCRIPTION OF SYMBOLS 10 Network 20 Mobile terminal 21, 41 Application 22a Measurement part 22b Prediction part 22c Control part 30 Prediction model generation server 31 Data collection part 32 Model generation part 40 Arithmetic processing server

Claims (7)

通信状況を測定する測定部と、
複数の端末装置から収集された情報に基づいて作成されたモデルを用いて、前記測定部によって測定された通信状況からスループットを予測する予測部と、
前記予測部によって予測されたスループットに応じて、アプリケーションに関する処理を自装置またはサーバに実行させるか判断し、自装置またはサーバに前記処理を実行させるように制御する制御部と、
を有することを特徴とする端末装置。
A measurement unit for measuring the communication status;
Using a model created based on information collected from a plurality of terminal devices, a prediction unit that predicts throughput from the communication status measured by the measurement unit,
In accordance with the throughput predicted by the prediction unit, a control unit that determines whether to execute the process related to the application on the own device or the server, and controls the own device or the server to execute the process;
The terminal device characterized by having.
複数の端末装置から収集された通信に関するデータを用いて、スループットを予測するためのモデルを生成する生成部と、
をさらに有することを特徴とする請求項1に記載の端末装置。
A generation unit that generates a model for predicting throughput using data related to communication collected from a plurality of terminal devices;
The terminal device according to claim 1, further comprising:
前記生成部は、前記収集部によって通信に関するデータが収集されるごとに、該データを解析し、前記モデルを更新することを特徴とする請求項2に記載の端末装置。   The terminal device according to claim 2, wherein the generation unit analyzes the data and updates the model every time data related to communication is collected by the collection unit. 前記制御部は、前記予測部によって予測されたスループットを用いて、サーバ側で処理を実行した場合にかかる実行時間を算出し、算出したサーバ側で処理を実行した場合にかかる実行時間と自装置側で処理を実行した場合にかかる実行時間とを比較し、比較の結果に応じて、前記処理を自装置またはサーバに前記処理を実行させるように制御することを特徴とする請求項1〜3のいずれか一つに記載の端末装置。   The control unit uses the throughput predicted by the prediction unit to calculate an execution time when the process is executed on the server side, and the execution time required when the process is executed on the server side and the own device The execution time required when the process is executed on the side is compared, and control is performed so that the apparatus or the server executes the process according to the comparison result. The terminal device according to any one of the above. 端末装置において実行される分散処理方法であって、
通信状況を測定する測定工程と、
複数の端末装置から収集された情報に基づいて作成されたモデルを用いて、前記測定工程によって測定された通信状況からスループットを予測する予測工程と、
前記予測工程によって予測されたスループットに応じて、アプリケーションに関する処理を自装置またはサーバに実行させるか判断し、自装置またはサーバに前記処理を実行させるように制御する制御工程と、
を含んだことを特徴とする分散処理方法。
A distributed processing method executed in a terminal device,
A measurement process for measuring the communication status;
Using a model created based on information collected from a plurality of terminal devices, a prediction step of predicting throughput from the communication status measured by the measurement step,
In accordance with the throughput predicted by the prediction step, it is determined whether to execute the process related to the application on the own device or the server, and the control step for controlling the own device or the server to execute the process;
The distributed processing method characterized by including.
通信状況を測定する測定ステップと、
複数の端末装置から収集された情報に基づいて作成されたモデルを用いて、前記測定ステップによって測定された通信状況からスループットを予測する予測ステップと、
前記予測ステップによって予測されたスループットに応じて、アプリケーションに関する処理を自装置またはサーバに実行させるか判断し、自装置またはサーバに前記処理を実行させるように制御する制御ステップと、
をコンピュータに実行させることを特徴とする分散処理プログラム。
A measurement step for measuring the communication status;
Using a model created based on information collected from a plurality of terminal devices, predicting the throughput from the communication status measured by the measuring step;
A control step of determining whether to execute the process related to the application in the own apparatus or the server according to the throughput predicted in the prediction step, and controlling the own apparatus or the server to execute the process;
A distributed processing program characterized by causing a computer to execute.
端末装置とサーバとを備える分散処理システムであって、
前記端末装置は、
通信状況を測定する測定部と、
複数の端末装置から収集された情報に基づいて作成されたモデルを用いて、前記測定部によって測定された通信状況からスループットを予測する予測部と、
前記予測部によって予測されたスループットに応じて、アプリケーションに関する処理を自装置またはサーバに実行させるか判断し、自装置またはサーバに前記処理を実行させるように制御する制御部と、を有し、
前記サーバは、
前記端末装置によってアプリケーションに関する処理をサーバに実行させると判断された場合には、該処理を実行し、前記端末装置に処理結果を送信する処理部を有することを特徴とする分散処理システム。
A distributed processing system comprising a terminal device and a server,
The terminal device
A measurement unit for measuring the communication status;
Using a model created based on information collected from a plurality of terminal devices, a prediction unit that predicts throughput from the communication status measured by the measurement unit,
According to the throughput predicted by the prediction unit, determine whether to execute the process related to the application to the own device or the server, and a control unit to control the own device or the server to execute the process.
The server
A distributed processing system, comprising: a processing unit configured to execute a process related to an application by the terminal device and to transmit the processing result to the terminal device when it is determined to cause the server to execute the process related to the application.
JP2013035769A 2013-02-26 2013-02-26 Terminal device, distributed processing method, distributed processing program, and distributed processing system Pending JP2014164568A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013035769A JP2014164568A (en) 2013-02-26 2013-02-26 Terminal device, distributed processing method, distributed processing program, and distributed processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013035769A JP2014164568A (en) 2013-02-26 2013-02-26 Terminal device, distributed processing method, distributed processing program, and distributed processing system

Publications (1)

Publication Number Publication Date
JP2014164568A true JP2014164568A (en) 2014-09-08

Family

ID=51615107

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013035769A Pending JP2014164568A (en) 2013-02-26 2013-02-26 Terminal device, distributed processing method, distributed processing program, and distributed processing system

Country Status (1)

Country Link
JP (1) JP2014164568A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016126801A (en) * 2014-12-31 2016-07-11 三星電子株式会社Samsung Electronics Co.,Ltd. Electronic system with learning mechanism and method of operation thereof, and non-volatile computer readable storage medium
JP2017175259A (en) * 2016-03-22 2017-09-28 Kddi株式会社 Radio terminal, server, control method and communication system
JP2018092626A (en) * 2016-11-28 2018-06-14 タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited System and method for offloading robotic functions to network edge-augmented clouds
WO2021100546A1 (en) * 2019-11-20 2021-05-27 富士フイルム株式会社 Artificial intelligence processing system, upload management device, method, and program
WO2021260839A1 (en) * 2020-06-24 2021-12-30 日本電信電話株式会社 Information processing device, information processing method, and program
JP2022009740A (en) * 2018-08-03 2022-01-14 日本電信電話株式会社 Control system and control method
CN114510002A (en) * 2020-11-17 2022-05-17 丰田自动车株式会社 Information processing device, information processing method, recording medium having information processing program recorded thereon, and information processing system
JP7263580B1 (en) 2022-02-14 2023-04-24 ソフトバンク株式会社 Server system and vehicle

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016126801A (en) * 2014-12-31 2016-07-11 三星電子株式会社Samsung Electronics Co.,Ltd. Electronic system with learning mechanism and method of operation thereof, and non-volatile computer readable storage medium
JP2017175259A (en) * 2016-03-22 2017-09-28 Kddi株式会社 Radio terminal, server, control method and communication system
JP2018092626A (en) * 2016-11-28 2018-06-14 タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited System and method for offloading robotic functions to network edge-augmented clouds
JP2022009740A (en) * 2018-08-03 2022-01-14 日本電信電話株式会社 Control system and control method
JP7208560B2 (en) 2018-08-03 2023-01-19 日本電信電話株式会社 Control system and control method
WO2021100546A1 (en) * 2019-11-20 2021-05-27 富士フイルム株式会社 Artificial intelligence processing system, upload management device, method, and program
WO2021260839A1 (en) * 2020-06-24 2021-12-30 日本電信電話株式会社 Information processing device, information processing method, and program
CN114510002A (en) * 2020-11-17 2022-05-17 丰田自动车株式会社 Information processing device, information processing method, recording medium having information processing program recorded thereon, and information processing system
JP2022080171A (en) * 2020-11-17 2022-05-27 トヨタ自動車株式会社 Information processing device, information processing method, information processing program, and information processing system
JP7371609B2 (en) 2020-11-17 2023-10-31 トヨタ自動車株式会社 Information processing device, information processing method, information processing program, and information processing system
JP7263580B1 (en) 2022-02-14 2023-04-24 ソフトバンク株式会社 Server system and vehicle
JP2023117867A (en) * 2022-02-14 2023-08-24 ソフトバンク株式会社 Server system and vehicle

Similar Documents

Publication Publication Date Title
JP2014164568A (en) Terminal device, distributed processing method, distributed processing program, and distributed processing system
CN101593133B (en) Method and device for load balancing of resources of virtual machine
JP6478976B2 (en) Battery consumption analysis and prediction of wireless devices
US20210042578A1 (en) Feature engineering orchestration method and apparatus
CN110891093A (en) Method and system for selecting edge computing node in delay sensitive network
AU2013281104B2 (en) Application-provided context for potential action prediction
CN107908465A (en) The method for scheduling task of big data platform
US10108522B1 (en) Sampling technique to adjust application sampling rate
JP2009237859A (en) Virtual machine management system
KR20140096784A (en) Method for migrating software of micro server based and device supporting the same
CN105302641A (en) Node scheduling method and apparatus in virtual cluster
CN112463367A (en) Method and system for optimizing performance of storage system, electronic equipment and storage medium
KR20220042928A (en) A method of implementing an self-organizing network for a plurality of access network devices and an electronic device performing the same
JP6690546B2 (en) Communication system, communication device, communication method, and recording medium
CN104268004A (en) Virtual machine migration method under cloud computing operation system
US20210133211A1 (en) Adaptive Usage of Storage Resources Using Data Source Models and Data Source Representations
Wang et al. Edge computing for artificial intelligence
JP5979185B2 (en) Operation management apparatus, operation management system, information processing method, and operation management program
US10216606B1 (en) Data center management systems and methods for compute density efficiency measurements
KR102227644B1 (en) Method for measuring workload by learning on micro data center environment
CN113886746A (en) Page loading method, device, equipment and medium
CN113904940A (en) Resource adjusting method and device, electronic equipment and computer readable storage medium
CN114416326A (en) Big data control method, device, control system and readable storage medium
Jägemar et al. Automatic message compression with overload protection
Huaijun et al. Research and implementation of mobile cloud computing offloading system based on Docker container