JP2016024700A - Web application system - Google Patents

Web application system Download PDF

Info

Publication number
JP2016024700A
JP2016024700A JP2014149429A JP2014149429A JP2016024700A JP 2016024700 A JP2016024700 A JP 2016024700A JP 2014149429 A JP2014149429 A JP 2014149429A JP 2014149429 A JP2014149429 A JP 2014149429A JP 2016024700 A JP2016024700 A JP 2016024700A
Authority
JP
Japan
Prior art keywords
unit
execution
information
server
terminal 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
Application number
JP2014149429A
Other languages
Japanese (ja)
Other versions
JP6246672B2 (en
Inventor
仁士 古城
Hitoshi Kojo
仁士 古城
信 落合
Makoto Ochiai
信 落合
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2014149429A priority Critical patent/JP6246672B2/en
Publication of JP2016024700A publication Critical patent/JP2016024700A/en
Application granted granted Critical
Publication of JP6246672B2 publication Critical patent/JP6246672B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a web application system capable of dynamically allocating a processing which is executable at both a terminal unit and a server to the terminal unit or the server depending on the load.SOLUTION: A server side load measurement unit measures the respective loads of unit processing executed by the server side processing execution section, and writes the value of the load obtained as a result of measurement in processing execution history information. The server side processing execution section executes a unit processing which is allotted to a server side processing distribution section or a terminal unit side processing distribution section at the server side. The server side processing distribution section determines which of the server side and the terminal unit side should execute the respective unit processing included in the processing execution schedule information based on the load value included in the processing execution history information. Either of the server side processing execution section or the terminal unit side processing execution section executes the unit processing based on the determined result.SELECTED DRAWING: Figure 2

Description

本明細書に記載の実施の形態は、ウェブアプリケーションシステムに関する。   Embodiments described herein relate to a web application system.

ウェブアプリケーション(Web application)は、インターネット(若しくはイントラネット)などのネットワークを介して使用するアプリケーションソフトウェアである。多くの場合、これらのアプリケーションは、端末のブラウザ上で動作するプログラミング言語(例えばJavaScript(登録商標))によるプログラムと、サーバ側のプログラムが協調することによって動作し、ユーザはそれを端末のブラウザ上で使用する。   The web application is application software used via a network such as the Internet (or intranet). In many cases, these applications run by the cooperation of a program in a programming language (for example, JavaScript (registered trademark)) that runs on the browser of the terminal and a program on the server side, and the user runs it on the browser of the terminal. Used in.

近年のインターネットの普及と技術進展に伴い、従来はデスクトップアプリケーションとして実装されていた機能も、ウェブアプリケーションとして提供される場合が増えている。ウェブアプリケーションの一例としては、ブログ、電子掲示板、インターネットバンキング、証券会社のオンライントレード、電子商店街などネット販売のショッピングカートなどがある。   With the spread of the Internet in recent years and technological progress, functions that have been implemented as desktop applications in the past have been increasingly provided as web applications. Examples of web applications include blogs, electronic bulletin boards, Internet banking, online trading by securities companies, and shopping carts for online sales such as online shopping malls.

特開2013−101523号公報JP 2013-101523 A

ウェブアプリケーションにおいて、各端末の計算機資源に合わせた負荷と応答性の調整を行いたいというニーズがあった。例えば、電力制御システムにおいて中央制御室では高性能な端末装置を使用する一方、各作業員はそれほど性能の高くない手持ちの端末装置を使用している環境において、より高速にウェブアプリケーションの実行を可能とするには、適切に各端末装置とサーバでの処理の分配を行う必要がある。   In web applications, there was a need to adjust the load and responsiveness according to the computer resources of each terminal. For example, in a power control system, a high-performance terminal device is used in the central control room, but each worker can execute a web application at a higher speed in an environment using a hand-held terminal device that is not so high in performance. In order to achieve this, it is necessary to appropriately distribute processing between each terminal device and the server.

また、ウェブアプリケーションにおいて、負荷と応答性の調整を行いたいというニーズがあるが、各種端末装置の機種に合わせたウェブアプリケーションの開発は、工数/保守の観点で困難である。   Further, there is a need to adjust the load and responsiveness in the web application, but it is difficult to develop the web application according to the types of various terminal devices from the viewpoint of man-hour / maintenance.

また、ウェブアプリケーションにおいて、端末装置からサーバへ処理の移動(又はその逆)が困難という問題もあった。これは以下の理由による。
(1)データソースやGUI部品に依存する処理が遍在しているため
(2)画面遷移型ウェブアプリケーションから非画面遷移型ウェブアプリケーションへの変更が困難なため
(3)端末が多様であるため
(4)単純な負荷平均化ではないため
In addition, in the web application, there is a problem that it is difficult to move the process from the terminal device to the server (or vice versa). This is due to the following reason.
(1) Because there are ubiquitous processes depending on data sources and GUI parts. (2) It is difficult to change from a screen transition web application to a non-screen transition web application. (3) There are various terminals. (4) Because it is not simple load averaging

本発明の目的は、端末装置とサーバの両者において実行可能な処理を、負荷に応じ端末装置又はサーバに動的に割り振ることが可能なウェブアプリケーションシステムを提供することにある。   An object of the present invention is to provide a web application system capable of dynamically allocating processing that can be executed in both a terminal device and a server to a terminal device or a server according to a load.

本発明の実施の形態はウェブアプリケーションシステムとして提案される。
このウェブアプリケーションシステムは、第1の記憶手段と、第1の計測手段と、第1の判定手段と、第2の記憶手段と、第2の計測手段と、第1の計測手段と、第1の判定手段とを有する。
The embodiment of the present invention is proposed as a web application system.
The web application system includes a first storage unit, a first measurement unit, a first determination unit, a second storage unit, a second measurement unit, a first measurement unit, and a first measurement unit. Determination means.

第1の記憶手段は、処理を単位処理を用いて記述した情報である処理実行計画情報と、単位処理を特定する情報と、処理の要求元を特定する情報と、当該単位処理の実行環境を特定する情報と、当該単位処理の負荷の値と有する第1の処理実行履歴情報とを記憶する。   The first storage means includes processing execution plan information that is information describing processing using unit processing, information for specifying unit processing, information for specifying a request source of processing, and an execution environment for the unit processing. Information to be identified and first process execution history information having the load value of the unit process are stored.

第1の計測手段は、第1の実行手段により実行された単位処理それぞれの負荷を計測し、計測の結果得られた負荷の値を、前記第1の処理実行履歴情報に書き込む。
第1の実行手段は、第1の判定手段又は第2の判定手段に指定された単位処理を、第1の実行環境において実行する。
The first measurement unit measures the load of each unit process executed by the first execution unit, and writes the load value obtained as a result of the measurement in the first process execution history information.
The first execution means executes the unit process designated by the first determination means or the second determination means in the first execution environment.

第1の実行手段は、前記処理実行計画情報に含まれる各単位処理を前記第1の実行環境又は前記第2の実行環境のどちらで行うかを、前記第1の処理実行履歴情報に含まれる負荷の値に基づいて判定し、この判定の結果に基づいて各単位処理を前記第1の実行手段又は第2の実行手段のいずれかに実行させる。   The first execution means is included in the first process execution history information as to whether each unit process included in the process execution plan information is performed in the first execution environment or the second execution environment. The determination is made based on the load value, and each unit process is executed by either the first execution means or the second execution means based on the result of this determination.

第2の記憶手段は、前記処理実行計画情報と同一の情報と、単位処理を特定する情報と、処理の要求元を特定する情報と、当該単位処理の実行環境を特定する情報と、当該単位処理の負荷の値と有する第2の処理実行履歴情報とを記憶する。   The second storage means includes the same information as the process execution plan information, information specifying a unit process, information specifying a process request source, information specifying an execution environment of the unit process, and the unit The process load value and the second process execution history information are stored.

第2の計測手段は、第2の実行手段によって実行された単位処理それぞれの負荷を計測し、計測の結果得られた負荷の値を、前記第2の処理実行履歴情報に書き込む。
第2の実行手段は、前記第1の判定手段又は第2の判定手段に指定された単位処理を、第2の実行環境において実行する。
The second measuring unit measures the load of each unit process executed by the second executing unit, and writes the load value obtained as a result of the measurement in the second process execution history information.
The second execution means executes the unit process designated by the first determination means or the second determination means in the second execution environment.

第2の判定手段は、処理実行計画情報に含まれる各単位処理を前記第1の実行環境及び前記第2の実行環境のどちらで行うかを、前記第2の処理実行履歴情報に含まれる負荷の値に基づいて判定し、この判定の結果に基づいて、各単位処理を前記第1の実行手段及び前記第2の実行手段のいずれかに実行させる。   The second determination means determines whether each unit process included in the process execution plan information is performed in the first execution environment or the second execution environment, and includes a load included in the second process execution history information. The unit processing is executed by either the first execution unit or the second execution unit based on the determination result.

上記ウェブアプリケーションシステムにおいて、前記第1の判定手段は、前記第1の処理実行履歴情報に含まれる負荷の値を参照して、前記第1の実行環境における当該単位処理の負荷の値と、前記第2の実行環境における当該単位処理の負荷の値と通信にかかる負荷の合計値を比較して、当該単位処理を前記第1の実行手段及び前記第2の実行手段のいずれに実行させるかを判定し、前記第2の判定手段は、前記第2の処理実行履歴情報に含まれる負荷の値を参照して、前記第1の実行環境における当該単位処理の負荷の値及び通信にかかる負荷の合計と、前記第2の実行環境における当該単位処理の負荷の値を比較して、当該単位処理を前記第1の実行手段及び前記第2の実行手段のいずれに実行させるかを判定するようにしてもよい。   In the web application system, the first determination unit refers to a load value included in the first process execution history information, and the load value of the unit process in the first execution environment, By comparing the load value of the unit process in the second execution environment with the total value of the load on communication, it is determined which of the first execution means and the second execution means the unit process is executed. The second determination means refers to the load value included in the second process execution history information, and determines the load value of the unit process and the load on communication in the first execution environment. The total and the load value of the unit process in the second execution environment are compared to determine which of the first execution unit and the second execution unit to execute the unit process. May be.

また、上記ウェブアプリケーションシステムは、端末装置の種類又は種別を特定する情報である端末種別情報を送信する第1の管理手段と、前記端末種別情報に基づいて、前記第2の処理実行履歴情報から、前記実行環境を特定する情報として前記端末種別情報に対応する情報が格納されているレコード、及び前記実行環境を特定する情報としてサーバを示す情報が格納されているレコードを抽出し、抽出したレコードからなる第3の処理実行履歴情報を生成し、これを前記第1の管理手段に送信する第2の管理手段とをさらに有し、前記第1の管理手段は、前記第3の処理実行履歴情報を、新たな第2の処理実行履歴情報として前記第1の記憶手段に記憶させるようにしてもよい。   Further, the web application system includes a first management unit that transmits terminal type information that is information specifying a type or type of the terminal device, and the second process execution history information based on the terminal type information. A record in which information corresponding to the terminal type information is stored as information for specifying the execution environment, and a record in which information indicating a server is stored as information for specifying the execution environment And a second management unit for generating the third process execution history information and transmitting the same to the first management unit, wherein the first management unit includes the third process execution history information. The information may be stored in the first storage unit as new second process execution history information.

さらにまた、上記ウェブアプリケーションシステムにおいて、前記第1の管理手段は、前記第1の処理実行履歴情報を前記第2の管理手段に送信し、前記第2の管理手段は、受信した前記第1の処理実行履歴情報に基づいて、前記第2の処理実行履歴情報を更新するようにしてもよい。   Furthermore, in the web application system, the first management unit transmits the first process execution history information to the second management unit, and the second management unit receives the received first first The second process execution history information may be updated based on the process execution history information.

さらにまた、上記ウェブアプリケーションシステムにおいて、前記第1の記憶手段は、前記処理実行計画情報に記述された単位処理を特定する情報と、前記第1の実行手段が実行する単位処理を特定する情報とを対応付けて記述した情報である処理対応表情報をさらに記憶し、前記第2の記憶手段は、前記処理実行計画情報に記述された単位処理を特定する情報と、前記第2の実行手段が実行する単位処理を特定する情報とを対応付けて記述した情報である処理対応表情報をさらに記憶するようにしてもよい。   Furthermore, in the web application system, the first storage means includes information for specifying a unit process described in the process execution plan information, and information for specifying a unit process to be executed by the first execution means. Is further stored, and the second storage means includes information for specifying a unit process described in the process execution plan information, and the second execution means You may make it further memorize | store the process corresponding | compatible table information which is the information which matched and described the information which specifies the unit process to perform.

本実施の形態にかかるウェブアプリケーションシステムの構成例を示すブロック図The block diagram which shows the structural example of the web application system concerning this Embodiment 実施の形態に係るサーバの構成例を示す機能ブロック図Functional block diagram showing a configuration example of a server according to an embodiment サーバ側処理実行履歴記憶部に記憶される処理実行履歴情報のデータ構成例を示す図The figure which shows the data structural example of the process execution log | history information memorize | stored in the server side process execution log | history memory | storage part 図3に示した処理実行履歴情報から生成した、端末装置側処理実行履歴情報のデータ構成例を示す図The figure which shows the data structural example of the terminal device side process execution log | history information produced | generated from the process execution log | history information shown in FIG. 単位処理1、及び単位処理3から単位処理6までの5つの単位処理からなる処理の流れ(処理実行計画)の例を示す図The figure which shows the example of the flow (process execution plan) which consists of five unit processes from the unit process 1 and the unit process 3 to the unit process 6 図5に示した処理の流れを記述した処理実行計画情報のデータ構成例を示した図The figure which showed the data structural example of the process execution plan information which described the flow of the process shown in FIG. 処理対応表情報のデータ構成例を示した図Diagram showing an example of the data structure of processing correspondence table information 実施の形態に係る端末装置の構成例を示す機能ブロック図Functional block diagram showing a configuration example of a terminal device according to an embodiment ウェブアプリケーションシステムにおける初期化処理の例を示したシーケンス図Sequence diagram showing an example of initialization processing in the web application system 処理実行計画情報のデータ例を示すAn example of processing execution plan information is shown 単位処理1から単位処理4の負荷を計測した場合に得られると仮定した負荷の値を格納した処理実行履歴情報を示す図The figure which shows the process execution log | history information which stored the value of the load assumed to be obtained when the load of the unit process 1 to the unit process 4 is measured 端末装置側処理対応表記憶部に記憶されている処理対応表情報を示す図The figure which shows the process correspondence table information memorize | stored in the terminal device side process correspondence table memory | storage part. サーバ側処理対応表記憶部に記憶されている処理対応表情報を示す図The figure which shows the process correspondence table information memorize | stored in the server side process correspondence table memory | storage part. ウェブアプリケーションシステムにおける端末装置起点での処理実行計画の実行動作の例を示したシーケンス図Sequence diagram showing an example of the execution operation of the process execution plan at the terminal device starting point in the web application system 図14に続く、ウェブアプリケーションシステムにおける端末装置起点での処理実行計画の実行動作の例を示したシーケンス図FIG. 14 is a sequence diagram illustrating an example of the execution operation of the process execution plan at the terminal device starting point in the web application system. 初期化処理開始前の、端末装置側処理実行履歴記憶部に記憶されている端末装置側処理実行履歴情報、及びサーバ側処理実行履歴記憶部に記憶されているサーバ側処理実行履歴情報のデータ例を示す図Data example of terminal-side process execution history information stored in the terminal-side process execution history storage unit and server-side process execution history information stored in the server-side process execution history storage unit before the initialization process starts Figure showing ステップS101からステップS103まで終了した時点における端末装置側処理実行履歴情報及びサーバ側処理実行履歴情報のデータ例を示す図The figure which shows the data example of the terminal device side process execution history information and server side process execution history information at the time of complete | finishing from step S101 to step S103 図17に示した状態の後、ステップS201からステップS205まで終了した時点における、端末装置側処理実行履歴情報及びサーバ側処理実行履歴情報のデータ例を示す図The figure which shows the example of a data of the terminal side process execution history information and the server side process execution history information at the time of complete | finishing from step S201 to step S205 after the state shown in FIG. 端末装置側処理実行履歴情報、及びサーバ側処理実行履歴情報のデータ例を示す図The figure which shows the data example of a terminal device side process execution history information, and a server side process execution history information 端末装置側処理実行履歴情報、及びサーバ側処理実行履歴情報のデータ例を示す図The figure which shows the data example of a terminal device side process execution history information, and a server side process execution history information 端末装置側処理実行履歴情報、及びサーバ側処理実行履歴情報のデータ例を示す図The figure which shows the data example of a terminal device side process execution history information, and a server side process execution history information 端末装置側処理実行履歴情報、及びサーバ側処理実行履歴情報のデータ例を示す図The figure which shows the data example of a terminal device side process execution history information, and a server side process execution history information 端末装置側処理分配部及びサーバ側処理分配部の主たる動作である処理分配処理の一例を示したフローチャートThe flowchart which showed an example of the process distribution process which is main operation | movement of a terminal device side process distribution part and a server side process distribution part 図23に続くフローチャートFlowchart following FIG. 端末装置側管理部の主たる動作の一つである端末装置側通信時間計測処理の一例を示したフローチャートThe flowchart which showed an example of the terminal device side communication time measurement process which is one of the main operations of the terminal device side management part. 端末装置側通信時間計測要求受信時処理の一例を示したフローチャートThe flowchart which showed an example of the terminal device side communication time measurement request reception process サーバ側通信時間計測処理の一例を示したフローチャートFlow chart showing an example of server side communication time measurement processing サーバ側通信時間計測要求受信時処理の一例を示したフローチャートThe flowchart which showed an example of processing at the time of server side communication time measurement request reception

以下、図面を参照して本発明の実施の形態に係るウェブアプリケーションシステムを説明する。
[0.用語の定義]
本明細書中で使用する用語の定義を述べる。
Hereinafter, a web application system according to an embodiment of the present invention will be described with reference to the drawings.
[0. Definition of terms]
Definitions of terms used in this specification will be described.

[0.1.ウェブアプリケーション]
「ウェブアプリケーション」とは、ウェブブラウザ上で動作するアプリケーションをいう。また「ウェブアプリケーションシステム」とは、ウェブアプリケーションを実行するシステムをいう。
[0.1. Web application]
“Web application” refers to an application that runs on a web browser. The “web application system” refers to a system that executes a web application.

[0.2.サーバ]
「サーバ」とは、ウェブアプリケーションを動作させるための環境(ハードウェア)をいう。
[0.2. server]
“Server” refers to an environment (hardware) for operating a web application.

[0.3.端末装置]
「端末装置」とは、サーバで動作しているウェブアプリケーションをロードし、実行する環境(ハードウェア)をいう。
[0.3. Terminal device]
A “terminal device” refers to an environment (hardware) in which a web application running on a server is loaded and executed.

[0.4.GUI部品]
「GUI部品」とは、ウェブアプリケーションのGUI(Graphical User Interface)を構成している部品をいう。
[0.4. GUI parts]
“GUI component” refers to a component constituting a GUI (Graphical User Interface) of a web application.

[0.5.データソース]
「データソース」とは、データを保持している装置をいう。
[0.5. Data source]
A “data source” refers to a device that holds data.

[0.6.画面遷移型ウェブアプリケーション]
「画面遷移型ウェブアプリケーション」とは、URL(Uniform Resource Locator)の変更を伴うウェブアプリケーションをいう。
[0.6. Screen transition web application]
A “screen transition type web application” refers to a web application that involves a change in URL (Uniform Resource Locator).

[0.7.非画面遷移型ウェブアプリケーション]
「非画面遷移型ウェブアプリケーション」とは、URLの変更を伴わないウェブアプリケーションをいう。
[0.7. Non-screen transition web application]
A “non-screen transition type web application” refers to a web application that does not involve a URL change.

[1.実施の形態]
[1.1.構成例]
本発明の実施の形態の一つは、ウェブアプリケーションシステムとして提案される。このウェブアプリケーションシステムは、端末装置とサーバの両者において実行可能な処理を、負荷に応じ端末装置又はサーバに動的に割り振りながら、ウェブアプリケーションを実行するシステムである。
[1. Embodiment]
[1.1. Configuration example]
One embodiment of the present invention is proposed as a web application system. This web application system is a system that executes a web application while dynamically allocating processes that can be executed by both the terminal device and the server to the terminal device or the server according to the load.

図1に本実施の形態にかかるウェブアプリケーションシステムの構成例を示すブロック図を示す。このウェブアプリケーションシステム1は、サーバ10と端末装置20を有する。端末装置20は,同一機器、同一機種、同一仕様モデル等でなくともよい。サーバ10はネットワーク30に接続されている。端末装置20のそれぞれは、ネットワーク30に接続されている、若しくは接続可能である。サーバ10と各端末装置20はネットワーク30を経由して相互にデータの送受信を行うことができる。   FIG. 1 is a block diagram showing a configuration example of a web application system according to the present embodiment. The web application system 1 includes a server 10 and a terminal device 20. The terminal device 20 may not be the same device, the same model, the same specification model, or the like. The server 10 is connected to the network 30. Each of the terminal devices 20 is connected to or connectable to the network 30. The server 10 and each terminal device 20 can exchange data with each other via the network 30.

[1.1.1.サーバ]
サーバ10は、ウェブアプリケーションを実行する環境を提供する装置である。サーバ10は、例えばコンピュータ、ワークステーションなどの情報処理装置によって実現される装置であって、この情報処理装置は、演算処理装置(CPU)、主メモリ(RAM)、読み出し専用メモリ(ROM)、入出力装置(I/O)、及び必要な場合にはハードディスク装置等の外部記憶装置を具備している装置である。なお、サーバ10は本実施の形態の第2の実行環境に相当する。
[1.1.1. server]
The server 10 is a device that provides an environment for executing a web application. The server 10 is an apparatus realized by an information processing apparatus such as a computer or a workstation. The information processing apparatus includes an arithmetic processing unit (CPU), a main memory (RAM), a read only memory (ROM), an input unit. An output device (I / O) and, if necessary, a device provided with an external storage device such as a hard disk device. The server 10 corresponds to the second execution environment of this embodiment.

本発明の実施の形態に係るサーバ10の構成例について説明する。図2は、本実施の形態に係るサーバ10の構成例を示す機能ブロック図である。なお、機能ブロック図中に示す構成要素は、サーバ10の機能を機能ごとにまとめてブロックとして捉えたものであり、ウェブアプリケーションシステムが各構成要素に対応する基板、装置、回路、部品などの物理的構成要素を備えていなければならないことを意味するわけではない。また、「接続」とは、データ、情報、命令などの送信及び/又は受信、受け取り、受け渡しなどが可能な状態になっていることをいい、互いに配線で連結されているような物理的な接続に限られる意味ではない。本明細書中の他の構成要素の機能ブロック図の説明についても同様である。   A configuration example of the server 10 according to the embodiment of the present invention will be described. FIG. 2 is a functional block diagram illustrating a configuration example of the server 10 according to the present embodiment. Note that the constituent elements shown in the functional block diagram are the functions of the server 10 that are collectively regarded as a block as a block, and the web application system has a physical structure such as a board, a device, a circuit, and a component corresponding to each constituent element. It does not mean that it must have a physical component. In addition, “connection” means that data, information, instructions, etc. can be transmitted and / or received, received, delivered, etc., and is physically connected such that they are connected to each other by wiring. The meaning is not limited to. The same applies to the description of the functional block diagrams of the other components in this specification.

サーバ10は、サーバ側通信部101と、サーバ側管理部102と、サーバ側処理分配部103と、サーバ側負荷計測部104と、サーバ側処理実行部105と、データ操作機能部106と、データソース部107と、サーバ側処理実行履歴記憶部108と、サーバ側処理実行計画記憶部109と、サーバ側処理対応表記憶部110とを有する。   The server 10 includes a server-side communication unit 101, a server-side management unit 102, a server-side process distribution unit 103, a server-side load measurement unit 104, a server-side process execution unit 105, a data operation function unit 106, a data A source unit 107, a server-side process execution history storage unit 108, a server-side process execution plan storage unit 109, and a server-side process correspondence table storage unit 110 are included.

サーバ側通信部101はネットワーク30に接続されている。サーバ側管理部102はサーバ側通信部101、サーバ側処理実行履歴記憶部108に接続されている。サーバ側処理分配部103はサーバ側管理部102に接続されていると共に、サーバ側処理実行履歴記憶部108、サーバ側処理実行計画記憶部109、サーバ側処理対応表記憶部110に接続されている。サーバ側負荷計測部104はサーバ側処理分配部103に接続されている。サーバ側処理実行部105はサーバ側処理分配部103に接続されている。データ操作機能部106はデータソース部107に接続されている。サーバ側負荷計測部104は、サーバ側処理実行履歴記憶部108及びサーバ側処理実行部105と接続されている。   The server side communication unit 101 is connected to the network 30. The server side management unit 102 is connected to the server side communication unit 101 and the server side processing execution history storage unit 108. The server-side process distribution unit 103 is connected to the server-side management unit 102, and is also connected to the server-side process execution history storage unit 108, the server-side process execution plan storage unit 109, and the server-side process correspondence table storage unit 110. . The server side load measurement unit 104 is connected to the server side processing distribution unit 103. The server side process execution unit 105 is connected to the server side process distribution unit 103. The data operation function unit 106 is connected to the data source unit 107. The server side load measurement unit 104 is connected to the server side process execution history storage unit 108 and the server side process execution unit 105.

[1.1.1.1.サーバ側通信部]
サーバ側通信部101は、ネットワーク30を経由して端末装置20サーバ10間のデータ送受信を行う機能を有する。サーバ側通信部101は、例えばネットワークアダプタ、LANボードなどで実現される。
[1.1.1.1. Server side communication section]
The server side communication unit 101 has a function of performing data transmission / reception between the terminal device 20 server 10 via the network 30. The server side communication unit 101 is realized by, for example, a network adapter, a LAN board, or the like.

[1.1.1.2.サーバ側管理部]
サーバ側管理部102は、サーバ10における各部各処理の実行の制御を行う機能を有する。サーバ側管理部102は、本実施の形態の第2の管理手段に相当する。
[1.1.1.2. Server side management department]
The server-side management unit 102 has a function of controlling execution of each process in the server 10. The server side management unit 102 corresponds to the second management unit of the present embodiment.

[1.1.1.3.サーバ側処理分配部]
サーバ側処理分配部103は、処理実行計画情報に含まれる各単位処理を端末装置20とサーバ10のどちらで行うかを判定し、この判定結果に基づいて各単位処理を端末装置20又はサーバ10で実行させる機能を有する。サーバ側処理分配部103は、本実施の形態の第2の判定手段に相当する。
[1.1.1.3. Server-side processing distribution unit]
The server-side process distribution unit 103 determines whether each unit process included in the process execution plan information is performed by the terminal device 20 or the server 10, and based on the determination result, each unit process is performed by the terminal device 20 or the server 10. It has a function to be executed in. The server-side processing distribution unit 103 corresponds to the second determination unit of the present embodiment.

[1.1.1.4.サーバ側処理実行履歴記憶部]
サーバ側処理実行履歴記憶部108は、処理実行履歴情報を記憶する機能を有する。サーバ側処理実行履歴記憶部108は、本実施の形態の第2の記憶手段に相当する。
[1.1.1.4. Server-side process execution history storage unit]
The server-side process execution history storage unit 108 has a function of storing process execution history information. The server-side process execution history storage unit 108 corresponds to the second storage unit of the present embodiment.

図3に、サーバ側処理実行履歴記憶部108に記憶される処理実行履歴情報のデータ構成例を示す。処理実行履歴情報500Sは、単位処理ごとに、一つのレコード510を有するデータであって、各レコード510は対応する単位処理を特定する情報(例えば、処理名)を格納するフィールド521、処理の要求元を特定する情報を格納するフィールド522、当該単位処理の実行場所を特定する情報を格納するフィールド523、当該単位処理の負荷の値を格納するフィールド524を有している。   FIG. 3 shows a data configuration example of the process execution history information stored in the server-side process execution history storage unit 108. The process execution history information 500S is data having one record 510 for each unit process, and each record 510 has a field 521 for storing information (for example, process name) for identifying the corresponding unit process, a process request. The field 522 stores information for specifying the source, the field 523 stores information for specifying the execution location of the unit process, and the field 524 stores the load value of the unit process.

[1.1.1.5.サーバ側処理実行計画記憶部]
サーバ側処理実行計画記憶部109は、本システム1で実行される処理全体を小さな処理(「単位処理」)の連結を用いて記述した情報である処理実行計画情報を記憶する機能を有する。本実施の形態の第2の記憶手段に相当する。
[1.1.1.5. Server-side processing execution plan storage unit]
The server-side process execution plan storage unit 109 has a function of storing process execution plan information, which is information describing the entire process executed by the system 1 using a combination of small processes (“unit processes”). This corresponds to the second storage means of the present embodiment.

図5に、単位処理1、及び単位処理3から単位処理6までの5つの単位処理からなる処理の流れ(処理実行計画)の例を示す。この処理は、単位処理1を起点として、その後順に単位処理3、単位処理4、単位処理5に進み、単位処理5で処理を終了する。また、単位処理3の実行後、単位処理6も実行される。なお、単位処理1及び単位処理5は端末装置20でのみ実行され、単位処理4及び単位処理6はサーバ10のみで実行され、単位処理3は端末装置20及びサーバ10のいずれでも実行可能な単位処理であるものとする。   FIG. 5 shows an example of a process flow (process execution plan) including unit process 1 and five unit processes from unit process 3 to unit process 6. This process starts from the unit process 1 and proceeds to the unit process 3, the unit process 4, and the unit process 5 in that order, and the unit process 5 ends the process. Further, after the unit process 3 is executed, the unit process 6 is also executed. The unit processing 1 and the unit processing 5 are executed only by the terminal device 20, the unit processing 4 and the unit processing 6 are executed only by the server 10, and the unit processing 3 is a unit that can be executed by either the terminal device 20 or the server 10. It is assumed that it is a process.

図6は、図5に示した処理の流れを記述した処理実行計画情報のデータ構成例を示した図である。処理実行計画情報600は、一つの単位処理について一つのレコード610を有するデータである。各レコード610は、対応する単位処理を特定する情報(例えば、処理名)を格納するフィールド621、当該単位処理の次に実行する単位処理を特定する情報(例えば、処理名)を格納するフィールド622、当該単位処理の実行場所を特定する情報を格納するフィールド623を有している。   FIG. 6 is a diagram illustrating a data configuration example of the process execution plan information describing the flow of the process illustrated in FIG. The process execution plan information 600 is data having one record 610 for one unit process. Each record 610 includes a field 621 for storing information (for example, a process name) for specifying a corresponding unit process, and a field 622 for storing information (for example, a process name) for specifying a unit process to be executed next to the unit process. And a field 623 for storing information for specifying the execution place of the unit process.

[1.1.1.6.サーバ側処理対応表記憶部]
サーバ側処理対応表記憶部110は、処理実行計画情報に記述された単位処理を特定する情報と、実際に実行する単位処理を特定する情報とを対応付けて記述した情報である処理対応表情報を記憶する機能を有する。サーバ側処理対応表記憶部110は、本実施の形態の第2の記憶手段に相当する。
[1.1.1.6. Server-side processing correspondence table storage unit]
The server-side process correspondence table storage unit 110 is process correspondence table information that is information in which unit information described in the process execution plan information is associated with information that identifies unit processes that are actually executed. Has a function of storing. The server-side processing correspondence table storage unit 110 corresponds to the second storage unit of the present embodiment.

サーバ側処理分配部103は、処理の要求元(例:端末装置、サーバ)に応じて実際に実行する処理を切り替える。処理対応表情報に存在しない場合は、要求された処理名をそのまま使用して、サーバ側処理実行部105に該当する単位処理の実行を命令する。   The server-side process distribution unit 103 switches the process to be actually executed according to the process request source (eg, terminal device, server). If the processing correspondence table information does not exist, the requested processing name is used as it is, and the server side processing execution unit 105 is instructed to execute the corresponding unit processing.

図7は、処理対応表情報のデータ構成例を示した図である。処理対応表情報700は、一つの単位処理について一つのレコード710を有するデータである。各レコード710は、対応する単位処理を特定する情報(例えば、処理名)を格納するフィールド721、当該単位処理の要求元を特定する情報(例えば、端末装置かサーバ化を区別する値、文字列)を格納するフィールド722、及び実際に実行する単位処理を特定する情報を格納するフィールド723を有している。   FIG. 7 is a diagram illustrating a data configuration example of the processing correspondence table information. The process correspondence table information 700 is data having one record 710 for one unit process. Each record 710 includes a field 721 for storing information (for example, a process name) for specifying a corresponding unit process, information for specifying a request source of the unit process (for example, a value for distinguishing terminal equipment or serverization, a character string) ) And a field 723 for storing information for specifying a unit process to be actually executed.

[1.1.1.7.サーバ側負荷計測部]
サーバ側負荷計測部104は、サーバ10において実行された単位処理それぞれの負荷を計測し、計測の結果得られた負荷の値を、サーバ側処理実行履歴記憶部108に記憶されている処理実行履歴情報に書き込む機能を有する。サーバ側負荷計測部104は、本実施の形態の第2の計測手段に相当する。
[1.1.1.7. Server-side load measurement unit]
The server-side load measurement unit 104 measures the load of each unit process executed in the server 10, and the load value obtained as a result of the measurement is stored in the server-side process execution history storage unit 108. It has a function to write information. The server side load measuring unit 104 corresponds to the second measuring unit of the present embodiment.

[1.1.1.8.サーバ側処理実行部]
サーバ側処理実行部105は、サーバ側処理分配部103がサーバ10で実行すると判定した単位処理を実行する機能を有する。サーバ側処理実行部105は、本実施の形態の第2の実行手段に相当する。
[1.1.1.8. Server side processing execution unit]
The server-side process execution unit 105 has a function of executing a unit process that the server-side process distribution unit 103 determines to be executed by the server 10. The server-side process execution unit 105 corresponds to the second execution unit of the present embodiment.

サーバ側処理実行部105は、その実行環境をサーバ10とする単位処理111、及びその実行環境をサーバ10と端末装置20の双方とする単位処理111を全て有している。なお、サーバ10と端末装置20の双方とする単位処理111は、サーバ10側と端末装置20側では別の単位処理を特定する情報(例えば、処理名)が与えられており、処理実行計画情報での単位処理を特定する情報と、サーバ10側での単位処理を特定する情報及びサーバ10側での単位処理を特定する情報は、処理対応表情報によって対応付けされている。例えば、処理実行計画情報において「処理3」と記述された単位処理について、処理対応表情報は、処理3に対応するサーバ10側で実行される単位処理の処理名は「単位処理3S」であり、単位処理3に対応する端末装置20側で実行される単位処理の処理名は「単位処理3T」であると記述する。   The server-side process execution unit 105 includes all unit processes 111 whose execution environment is the server 10 and unit processes 111 whose execution environment is both the server 10 and the terminal device 20. The unit process 111 that is both the server 10 and the terminal device 20 is provided with information (for example, a process name) for specifying different unit processes on the server 10 side and the terminal device 20 side, and the process execution plan information The information for specifying the unit processing at the server 10, the information for specifying the unit processing at the server 10 side, and the information for specifying the unit processing at the server 10 side are associated with each other by the processing correspondence table information. For example, for the unit process described as “Process 3” in the process execution plan information, the process correspondence table information indicates that the process name of the unit process executed on the server 10 side corresponding to Process 3 is “Unit Process 3S” The process name of the unit process executed on the terminal device 20 side corresponding to the unit process 3 is described as “unit process 3T”.

[1.1.1.9.データ操作機能部]
データ操作機能部106は、データソース部107に格納されたデータソース(データベース)を操作するための機能を有する。データ操作機能部106は、例えばDBMS(database management system)である。
[1.1.1.9. Data operation function part]
The data operation function unit 106 has a function for operating the data source (database) stored in the data source unit 107. The data operation function unit 106 is, for example, a DBMS (database management system).

[1.1.1.10.データソース部]
データソース部107は、データの集合を記憶し、ウェブアプリケーションで使用するデータを格納する機能を有する。
[1.1.1.10. Data source section]
The data source unit 107 has a function of storing a set of data and storing data used in the web application.

[1.1.2.端末装置]
端末装置20は、サーバ10で動作するウェブアプリケーションをロードし実行する環境を提供する装置である。端末装置20は、コンピュータ、携帯電話器、タブレットPC、スマートフォン、業務用通信端末などの情報処理装置によって実現される装置であって、情報処理装置は、演算処理装置(CPU)、主メモリ(RAM)、読み出し専用メモリ(ROM)、入出力装置(I/O)、及び必要な場合にはハードディスク装置等の外部記憶装置を具備している装置である。端末装置10は、本実施の形態の第1の実行環境に相当する。
本発明の実施の形態に係る端末装置20の構成例について説明する。図8は、本実施の形態に係る端末装置20の構成例を示す機能ブロック図である。
[1.1.2. Terminal device]
The terminal device 20 is a device that provides an environment for loading and executing a web application that runs on the server 10. The terminal device 20 is a device realized by an information processing device such as a computer, a mobile phone, a tablet PC, a smartphone, or a business communication terminal. The information processing device includes an arithmetic processing device (CPU) and a main memory (RAM). ), A read-only memory (ROM), an input / output device (I / O), and, if necessary, an external storage device such as a hard disk device. The terminal device 10 corresponds to the first execution environment of the present embodiment.
A configuration example of the terminal device 20 according to the embodiment of the present invention will be described. FIG. 8 is a functional block diagram showing a configuration example of the terminal device 20 according to the present embodiment.

端末装置20は、端末装置側通信部201と、端末装置側管理部202と、端末装置側処理分配部203と、端末装置側負荷計測部204と、端末装置側処理実行部205と、GUI部品操作機能部206と、GUI部品部207と、端末装置側処理実行履歴記憶部208と、端末装置側処理実行計画記憶部209と、端末装置側処理対応表記憶部210とを有する。   The terminal device 20 includes a terminal device side communication unit 201, a terminal device side management unit 202, a terminal device side processing distribution unit 203, a terminal device side load measurement unit 204, a terminal device side processing execution unit 205, and a GUI component. An operation function unit 206, a GUI component unit 207, a terminal device side process execution history storage unit 208, a terminal device side process execution plan storage unit 209, and a terminal device side process correspondence table storage unit 210 are provided.

端末装置側通信部201はネットワーク30に接続されているか、ネットワーク30と接続可能である。端末装置側管理部202は端末装置側通信部201、端末装置側処理実行履歴記憶部208に接続されている。端末装置側処理分配部203は端末装置側管理部202に接続されていると共に、端末装置側処理実行履歴記憶部208、端末装置側処理実行計画記憶部209、端末装置側処理対応表記憶部210に接続されている。端末装置側負荷計測部204は端末装置側処理分配部203、端末装置側処理実行履歴記憶部208、端末装置側処理実行部205に接続されている。端末装置側処理実行部205は端末装置側処理分配部203に接続されている。GUI部品操作機能部206はGUI部品部207に接続されている。   The terminal device side communication unit 201 is connected to the network 30 or can be connected to the network 30. The terminal device side management unit 202 is connected to the terminal device side communication unit 201 and the terminal device side processing execution history storage unit 208. The terminal device side processing distribution unit 203 is connected to the terminal device side management unit 202, and also includes a terminal device side processing execution history storage unit 208, a terminal device side processing execution plan storage unit 209, and a terminal device side processing correspondence table storage unit 210. It is connected to the. The terminal device side load measurement unit 204 is connected to the terminal device side process distribution unit 203, the terminal device side process execution history storage unit 208, and the terminal device side process execution unit 205. The terminal device side processing execution unit 205 is connected to the terminal device side processing distribution unit 203. The GUI component operation function unit 206 is connected to the GUI component unit 207.

[1.1.2.1.端末装置側通信部]
端末装置側通信部201は、ネットワーク30を経由して端末装置20とサーバ10間のデータ送受信を行う機能を有する。端末装置側通信部201は、例えば無線LANボード、ネットワークアダプタなどで実現される。
[1.1.2.1. Terminal device side communication section]
The terminal device side communication unit 201 has a function of performing data transmission / reception between the terminal device 20 and the server 10 via the network 30. The terminal device side communication unit 201 is realized by a wireless LAN board, a network adapter, or the like, for example.

[1.1.2.2.端末装置側管理部]
端末装置側管理部202は、端末装置20における各部各処理の実行の制御を行う機能を有する。端末装置側管理部202は、本実施の形態の第1の管理手段に相当する。
[1.1.2.2. Terminal device side management unit]
The terminal device side management unit 202 has a function of controlling execution of each process of each unit in the terminal device 20. The terminal device side management unit 202 corresponds to the first management unit of the present embodiment.

[1.1.2.3.端末装置側処理分配部]
端末装置側処理分配部203は、処理実行計画情報に含まれる各単位処理を端末装置20とサーバ10のどちらで行うかを判定し、この判定結果に基づいて各単位処理を端末装置20又はサーバ10で実行させる機能を有する。端末装置側処理分配部203は、本実施の形態の第1の判定手段に相当する。
[1.1.2.3. Terminal device side processing distribution unit]
The terminal device side processing distribution unit 203 determines whether each unit process included in the process execution plan information is performed by the terminal device 20 or the server 10, and based on the determination result, each unit process is performed by the terminal device 20 or the server. 10 has a function to be executed. The terminal device side processing distribution unit 203 corresponds to the first determination unit of the present embodiment.

[1.1.2.4.端末装置側処理実行履歴記憶部]
端末装置側処理実行履歴記憶部208は、処理実行履歴情報を記憶する機能を有する。処理実行履歴情報は、サーバ側処理実行履歴記憶部108によって記憶される処理実行履歴情報と同一のデータ構成を有している。端末装置側処理実行履歴記憶部208は、本実施の形態の第1の記憶手段に相当する。
[1.1.2.4. Terminal device side process execution history storage unit]
The terminal device side process execution history storage unit 208 has a function of storing process execution history information. The process execution history information has the same data configuration as the process execution history information stored by the server-side process execution history storage unit 108. The terminal device side process execution history storage unit 208 corresponds to the first storage unit of the present embodiment.

端末装置側処理実行履歴記憶部208に記憶される処理実行履歴情報(「端末装置側処理実行履歴情報」と呼ぶ)は、後述する初期化処理時に、サーバ側処理実行履歴記憶部108に記憶されている処理実行履歴情報(「サーバ側処理実行履歴情報」と呼ぶ)から、実行場所が当該端末装置20の端末種別と同じであるレコード510、又は実行場所がサーバ10であるレコード510のみを取り出し、これら取り出したレコード510からなるデータを端末装置側処理実行履歴情報として記憶する。   The process execution history information (referred to as “terminal device side process execution history information”) stored in the terminal device side process execution history storage unit 208 is stored in the server side process execution history storage unit 108 during the initialization process described later. Only the record 510 whose execution location is the same as the terminal type of the terminal device 20 or the record 510 whose execution location is the server 10 is extracted from the processing execution history information (referred to as “server-side processing execution history information”) The data composed of these extracted records 510 is stored as terminal device side process execution history information.

図4に、図3に示した処理実行履歴情報500Sから生成した、端末装置側処理実行履歴情報のデータ構成例を示す。端末装置側処理実行履歴情報500Tは、処理実行履歴情報500Sと同様に、単位処理ごとに、一つのレコード510を有するデータであって、各レコード510は対応する単位処理を特定する情報(例えば、単位処理名)を格納するフィールド521、処理の要求元を特定する情報を格納するフィールド522、当該単位処理の実行場所を特定する情報を格納するフィールド523、当該単位処理の負荷の値を格納するフィールド524を有している。   FIG. 4 shows a data configuration example of the terminal apparatus side process execution history information generated from the process execution history information 500S shown in FIG. Similarly to the process execution history information 500S, the terminal apparatus side process execution history information 500T is data having one record 510 for each unit process, and each record 510 is information for identifying a corresponding unit process (for example, A field 521 for storing a unit process name), a field 522 for storing information for specifying a request source of the process, a field 523 for storing information for specifying the execution location of the unit process, and a load value of the unit process. Field 524 is included.

[1.1.2.5.端末装置側処理実行計画記憶部]
端末装置側処理実行計画記憶部209は、本システム1で実行される処理を小さな処理(「単位処理」)の連結によって記述した情報である処理実行計画情報を記憶する機能を有する。端末装置側処理実行計画記憶部209は、本実施の形態の第1の記憶手段に相当する。
この処理実行計画情報は、サーバ側処理実行計画記憶部109で記憶される処理実行計画情報と同様のデータ構成を有するデータである。
[1.1.2.5. Terminal device side processing execution plan storage unit]
The terminal device-side process execution plan storage unit 209 has a function of storing process execution plan information, which is information describing processes executed by the system 1 by connecting small processes (“unit processes”). The terminal device side process execution plan storage unit 209 corresponds to the first storage unit of the present embodiment.
This process execution plan information is data having the same data configuration as the process execution plan information stored in the server-side process execution plan storage unit 109.

[1.1.2.6.端末装置側処理対応表記憶部]
端末装置側処理対応表記憶部210は、処理実行計画情報に記述された単位処理を特定する情報と、実際に実行する単位処理を特定する情報とを対応付けて記述した情報である処理対応表情報を記憶する機能を有する。端末装置側処理対応表記憶部210は、本実施の形態の第1の記憶手段に相当する。この処理対応表情報は、前述したサーバ側処理対応表記憶部110で記憶される処理対応表情報と同様のデータ構成を有するデータである。
[1.1.2.6. Terminal device side processing correspondence table storage unit]
The terminal device side process correspondence table storage unit 210 is a process correspondence table that is information in which information specifying unit processes described in the process execution plan information is associated with information specifying unit processes to be actually executed. It has a function of storing information. The terminal device side processing correspondence table storage unit 210 corresponds to the first storage unit of the present embodiment. This processing correspondence table information is data having the same data configuration as the processing correspondence table information stored in the server side processing correspondence table storage unit 110 described above.

[1.1.2.7.端末装置側負荷計測部]
端末装置側負荷計測部204は、サーバ10において実行された単位処理それぞれの負荷を計測し、計測の結果得られた負荷の値を、端末装置側処理実行計画記憶部209で記憶されている処理実行履歴情報に書き込む機能を有する。端末装置側負荷計測部204は、本実施の形態の第1の計測手段に相当する。
[1.1.2.7. Terminal device side load measurement unit]
The terminal device side load measurement unit 204 measures the load of each unit process executed in the server 10, and the load value obtained as a result of the measurement is stored in the terminal device side process execution plan storage unit 209. It has a function of writing in execution history information. The terminal device side load measuring unit 204 corresponds to the first measuring unit of the present embodiment.

[1.1.2.8.端末装置側処理実行部]
端末装置側処理実行部205は、端末装置側処理分配部203が端末装置20で実行すると判定した単位処理を実行する機能を有する。端末装置側処理実行部205は、本実施の形態の第1の計測手段に相当する。
[1.1.2.8. Terminal device side processing execution unit]
The terminal device side process execution unit 205 has a function of executing a unit process determined to be executed by the terminal device 20 by the terminal device side process distribution unit 203. The terminal device side process execution unit 205 corresponds to the first measurement unit of the present embodiment.

端末装置側処理実行部205は、その実行環境を端末装置20とする単位処理111、及びその実行環境をサーバ10と端末装置20の双方とする単位処理111を全て有している。なお、実行環境をサーバ10と端末装置20の双方とする単位処理111は、サーバ10側と端末装置20側では別の単位処理を特定する情報(例えば、処理名)が与えられており、処理実行計画情報での単位処理を特定する情報と、サーバ10側での単位処理を特定する情報及びサーバ10側での単位処理を特定する情報は、処理対応表情報によって対応付けされている。   The terminal apparatus side process execution unit 205 has all unit processes 111 whose execution environment is the terminal apparatus 20 and all unit processes 111 whose execution environment is both the server 10 and the terminal apparatus 20. Note that the unit processing 111 in which the execution environment is both the server 10 and the terminal device 20 is provided with information (for example, processing name) for specifying different unit processing on the server 10 side and the terminal device 20 side. The information for specifying the unit process in the execution plan information, the information for specifying the unit process on the server 10 side, and the information for specifying the unit process on the server 10 side are associated with each other by the process correspondence table information.

[1.1.2.9.GUI部品部]
GUI部品部207は、ウェブアプリケーションのGUI(Graphical User Interface)を構成している部品として機能する。
[1.1.2.9. GUI parts]
The GUI component unit 207 functions as a component constituting a GUI (Graphical User Interface) of the web application.

[1.1.2.10.GUI部品操作機能部]
GUI部品操作機能部206は、GUI部品部207によって提供されるGUI部品を操作する機能を提供する。
[1.1.2.10. GUI part operation function part]
The GUI component operation function unit 206 provides a function for operating the GUI component provided by the GUI component unit 207.

[1.2.動作例]
[1.2.1.システム全体の動作例]
本実施の形態に係るウェブアプリケーションシステム1全体の動作を説明する。図9にウェブアプリケーションシステム1における初期化処理の例を示したシーケンス図を掲げる。また、図10に、上記初期化処理開始時点において端末装置側処理実行計画記憶部209及びサーバ側処理実行計画記憶部109に記憶されている処理実行計画情報600のデータ例を示す。図10に示す処理実行計画情報600は、単位処理1、単位処理3、単位処理4を順に実行することを内容とする処理実行計画を記述している。単位処理1、単位処理4は「端末装置」で実行可能な処理であることが記述されており、単位処理3はサーバ及び端末装置の双方で実行可能な処理であることが記述されている。
[1.2. Example of operation]
[1.2.1. Example of overall system operation]
The overall operation of the web application system 1 according to the present embodiment will be described. FIG. 9 is a sequence diagram showing an example of initialization processing in the web application system 1. FIG. 10 shows a data example of the process execution plan information 600 stored in the terminal device side process execution plan storage unit 209 and the server side process execution plan storage unit 109 at the time of starting the initialization process. The process execution plan information 600 shown in FIG. 10 describes a process execution plan whose contents are to execute the unit process 1, the unit process 3, and the unit process 4 in order. The unit process 1 and the unit process 4 are described as processes that can be executed by the “terminal device”, and the unit process 3 is described as a process that can be executed by both the server and the terminal device.

また、ウェブアプリケーションシステム1において、各単位処理の負荷を端末装置20若しくはサーバ10にて計測した場合に得られる負荷の値を図11に示すように仮定する。図11は単位処理1から単位処理4の負荷を計測した場合に得られると仮定した負荷の値を格納した処理実行履歴情報を示す図である。   Moreover, in the web application system 1, the load value obtained when the load of each unit process is measured by the terminal device 20 or the server 10 is assumed as shown in FIG. FIG. 11 is a diagram showing process execution history information storing a load value assumed to be obtained when the loads of the unit processes 1 to 4 are measured.

さらにまた、図12に、端末装置側処理対応表記憶部210に記憶されている処理対応表情報700Tを示し、図13に、サーバ側処理対応表記憶部110に記憶されている処理対応表情報700Sを示す。なお、処理対応表情報700Sは、いずれの単位処理のレコードも有していない。   12 shows processing correspondence table information 700T stored in the terminal device side processing correspondence table storage unit 210, and FIG. 13 shows processing correspondence table information stored in the server side processing correspondence table storage unit 110. 700S is shown. Note that the processing correspondence table information 700S does not have any unit processing records.

[1.2.1.初期化処理]
図9を参照しながら、ウェブアプリケーションシステム1の初期化処理の動作を説明する。この「初期化処理」は、端末装置20とサーバ10の間で、処理実行履歴情報を一致させるための処理である。
[1.2.1. Initialization process]
The operation of the initialization process of the web application system 1 will be described with reference to FIG. This “initialization process” is a process for matching the process execution history information between the terminal device 20 and the server 10.

初期化処理において、端末装置20が電源投入などにより起動すると、端末装置20、より詳しくは端末装置側管理部202は、サーバ10、より詳しくはサーバ側管理部102に端末種別情報を送信する(S101)。端末種別情報は、当該端末装置20の機種などを特定する情報である。   In the initialization process, when the terminal device 20 is activated by power-on or the like, the terminal device 20, more specifically, the terminal device side management unit 202 transmits terminal type information to the server 10, more specifically, the server side management unit 102 ( S101). The terminal type information is information that identifies the model of the terminal device 20 and the like.

サーバ10、より詳しくはサーバ側管理部102は、上記端末種別情報を元にして、サーバ側処理実行履歴記憶部108に記憶されている処理実行履歴情報から、当該端末装置20に使用させるための処理実行履歴情報を生成する(S102)。当該端末装置20に使用させるための処理実行履歴情報とは、実行場所(実行環境と同義、以下同じ)を格納するフィールド523に当該端末装置20に対応する種別情報が格納されているレコード510、及び実行場所を格納するフィールド523にサーバを示す情報が格納されているレコード510のみを含むように書き換えられた処理実行履歴情報である。サーバ10、より詳しくはサーバ側管理部102は、ステップS102で生成した処理実行履歴情報を当該端末装置20に送信する(S103)。
以上で初期化処理は終了する。
The server 10, more specifically, the server-side management unit 102, causes the terminal device 20 to use the process execution history information stored in the server-side process execution history storage unit 108 based on the terminal type information. Process execution history information is generated (S102). The process execution history information to be used by the terminal device 20 is a record 510 in which type information corresponding to the terminal device 20 is stored in a field 523 that stores an execution location (synonymous with execution environment, the same applies hereinafter), And the processing execution history information rewritten so as to include only the record 510 in which the information indicating the server is stored in the field 523 for storing the execution location. The server 10, more specifically, the server-side management unit 102 transmits the process execution history information generated in step S102 to the terminal device 20 (S103).
This is the end of the initialization process.

[1.2.2.端末装置起点での処理実行]
図14及び図15を参照しながら、ウェブアプリケーションシステム1における端末装置20から処理実行要求が発せられた場合の処理実行計画実行の動作を説明する。図14は、ウェブアプリケーションシステム1における端末装置起点での処理実行計画の実行動作の例を示したシーケンス図であり、図15は、図14に続くシーケンス図である。
[1.2.2. Process execution starting from terminal device]
With reference to FIGS. 14 and 15, an operation of executing a process execution plan when a process execution request is issued from the terminal device 20 in the web application system 1 will be described. FIG. 14 is a sequence diagram illustrating an example of the execution operation of the process execution plan at the terminal device starting point in the web application system 1, and FIG. 15 is a sequence diagram subsequent to FIG.

まず、端末装置20、より詳しくは端末装置側管理部202はユーザからの処理実行要求入力を受け付ける(S201)。処理実行要求入力は、例えばアイコンのタップ、アプリの起動などである。   First, the terminal device 20, more specifically, the terminal device side management unit 202 receives a process execution request input from a user (S201). The process execution request input is, for example, an icon tap, an application activation, or the like.

処理実行要求入力を受け付けた端末装置20、より詳しくは端末装置側管理部202は、端末装置側処理分配部203に処理実行要求を渡す(S202)。この処理実行要求には、実行環境を指定する情報、処理要求元を示す情報、通信負荷を示す情報が付加されているものとする。   The terminal device 20 that has received the processing execution request input, more specifically, the terminal device side management unit 202 passes the processing execution request to the terminal device side processing distribution unit 203 (S202). It is assumed that information specifying an execution environment, information indicating a processing request source, and information indicating a communication load are added to the processing execution request.

処理実行要求を受け取った端末装置側処理分配部203は、上記の実行環境を指定する情報、処理要求元を示す情報、通信負荷を示す情報、及び端末装置側処理実行計画記憶部209に記憶されている処理実行計画情報、端末装置側処理実行履歴記憶部208処理実行履歴情報から、処理負荷の推定値を算出する(S203)。   The terminal device side processing distribution unit 203 that has received the processing execution request is stored in the information specifying the execution environment, the information indicating the processing request source, the information indicating the communication load, and the terminal device side processing execution plan storage unit 209. The estimated value of the processing load is calculated from the processing execution plan information and the terminal device side processing execution history storage unit 208 processing execution history information (S203).

次に端末装置側処理分配部203は、ステップS203において算出した処理負荷の推定値に基づいて、処理実行計画情報に含まれる複数の一連の単位処理の内、どこまでの単位処理を当該端末装置20において実行するかを決定する(S204)。なお、このステップS204で決定した単位処理の範囲を「端末側処理範囲」と呼ぶ。   Next, the terminal device-side process distribution unit 203 performs the unit process up to the terminal device 20 out of a plurality of series of unit processes included in the process execution plan information based on the estimated value of the processing load calculated in step S203. In step S204, it is determined whether to execute the process. The unit processing range determined in step S204 is referred to as “terminal-side processing range”.

次に端末装置側処理分配部203は、上記の端末側処理範囲に含まれる単位処理のそれぞれを処理実行計画情報に記述された順番通りに実行する(S205)。但し、端末装置側処理分配部203は、単位処理の実行に際して端末装置側処理対応表記憶部210に記憶されている処理対応表情報を読み取り、処理実行計画情報に記述された処理(例えば、単位処理4)に対応する単位処理であって、処理対応表情報に記述された単位処理(単位処理4A)を実行する。   Next, the terminal device side process distribution unit 203 executes each of the unit processes included in the terminal side process range in the order described in the process execution plan information (S205). However, the terminal device side processing distribution unit 203 reads the processing correspondence table information stored in the terminal device side processing correspondence table storage unit 210 when executing the unit processing, and performs processing (for example, unit processing) described in the processing execution plan information. A unit process corresponding to the process 4), which is described in the process correspondence table information (unit process 4A) is executed.

ステップS205の実行に合わせて、端末装置側負荷計測部204は、上記の端末側処理範囲に含まれる単位処理のそれぞれの負荷を計測する(S206)。端末装置側負荷計測部204は、上記計測の結果得られた負荷の値を、端末装置側処理実行履歴記憶部208に記憶されている処理実行履歴情報に書き込む(S207)。   In accordance with the execution of step S205, the terminal device side load measuring unit 204 measures each load of the unit processing included in the terminal side processing range (S206). The terminal device side load measurement unit 204 writes the load value obtained as a result of the above measurement into the process execution history information stored in the terminal device side process execution history storage unit 208 (S207).

次に端末装置側処理分配部203は、上記処理実行計画における端末側処理範囲以降の単位処理の実行をサーバ10に要求する旨の命令を端末装置側管理部202に渡す(S208)。この命令を受け取った端末装置側管理部202は上記処理実行計画における端末側処理範囲以降の単位処理の実行を要求する実行要求メッセージをサーバ10、より詳しくはサーバ側管理部102に送信する(S209)。   Next, the terminal device side processing distribution unit 203 passes to the terminal device side management unit 202 an instruction to request the server 10 to execute the unit processing after the terminal side processing range in the processing execution plan (S208). Receiving this command, the terminal device side management unit 202 transmits an execution request message for requesting execution of unit processing after the terminal side processing range in the processing execution plan to the server 10, more specifically to the server side management unit 102 (S209). ).

また、端末装置側管理部202は端末装置側処理実行履歴記憶部208に記憶されている処理実行履歴情報を読み出し、この処理実行履歴情報をサーバ10、より詳しくはサーバ側管理部102に送信する(S210)。   Further, the terminal device side management unit 202 reads out the process execution history information stored in the terminal device side process execution history storage unit 208, and transmits this process execution history information to the server 10, more specifically, to the server side management unit 102. (S210).

処理実行履歴情報を受信したサーバ側管理部102は、サーバ側処理実行履歴記憶部108に記憶されている処理実行履歴情報を、ステップS210で端末装置20から受信した処理実行履歴情報に置き換える(更新する)(S211)。   The server-side management unit 102 that has received the process execution history information replaces the process execution history information stored in the server-side process execution history storage unit 108 with the process execution history information received from the terminal device 20 in step S210 (update). (S211).

サーバ側管理部102は、ステップS209において送信された実行要求メッセージにおいて指定された単位処理(複数の場合あり)を実行するように、サーバ側処理分配部103に要求する(S212)。   The server-side management unit 102 requests the server-side process distribution unit 103 to execute the unit process (there may be a plurality of cases) specified in the execution request message transmitted in step S209 (S212).

上記単位処理の実行を要求されたサーバ側処理分配部103は、サーバ側処理実行計画記憶部109に記憶されている処理実行計画情報、及びサーバ側処理実行履歴記憶部108に記憶されている処理実行履歴情報に基づいて、実行要求メッセージにおいて指定された単位処理それぞれの処理負荷の推定値を算出する(S213)。   The server-side process distribution unit 103 requested to execute the unit process has the process execution plan information stored in the server-side process execution plan storage unit 109 and the process stored in the server-side process execution history storage unit 108. Based on the execution history information, an estimated value of the processing load of each unit process specified in the execution request message is calculated (S213).

サーバ側処理分配部103は、上記推定値に基づいて、処理実行計画情報に含まれる単位処理の内、どこまでの単位処理をサーバ10で実行するかを決定する(S214)。このステップS214で決定した単位処理の範囲を「サーバ側処理範囲」と呼ぶ。
サーバ側処理分配部103は、ステップS214において決定したサーバ側処理範囲に含まれる単位処理(複数この場合あり)を順次実行する(S215)。
Based on the estimated value, the server-side process distribution unit 103 determines how many unit processes to be executed by the server 10 among the unit processes included in the process execution plan information (S214). The unit processing range determined in step S214 is referred to as a “server-side processing range”.
The server-side process distribution unit 103 sequentially executes unit processes (multiple cases in this case) included in the server-side process range determined in step S214 (S215).

サーバ側処理範囲に含まれる単位処理の実行完了後、サーバ側処理分配部103は、上記処理実行計画におけるサーバ側処理範囲以降の単位処理の実行を要求する命令をサーバ側管理部102に渡す(S216)。この命令を受け取ったサーバ側管理部102は上記処理実行計画におけるサーバ側処理範囲以降の単位処理の実行を要求する実行要求メッセージを端末装置20、より詳しくは端末装置側管理部202に送信する(S217)。   After the execution of the unit processes included in the server-side processing range is completed, the server-side process distribution unit 103 passes to the server-side management unit 102 an instruction for requesting execution of the unit processes after the server-side processing range in the process execution plan ( S216). Upon receiving this command, the server-side management unit 102 transmits an execution request message for requesting execution of a unit process after the server-side processing range in the processing execution plan to the terminal device 20, more specifically, to the terminal device-side management unit 202 ( S217).

また、サーバ側管理部102は、サーバ側処理実行履歴記憶部108に記憶されている処理実行履歴情報の内、「実行場所」が当該端末装置20の端末種別と一致する行のデータ、或いは「実行場所」がサーバ10と一致するレコード(行)のデータを取り出し、これらレコード(行)のデータを処理実行履歴情報として端末装置側管理部202に送信する(S218)。   In addition, the server-side management unit 102 includes, in the process execution history information stored in the server-side process execution history storage unit 108, data in a row where the “execution location” matches the terminal type of the terminal device 20, or “ Data of records (rows) whose “execution location” matches the server 10 is extracted, and the data of these records (rows) is transmitted to the terminal device side management unit 202 as processing execution history information (S218).

この後端末装置側管理部202は、前述のステップS202に戻り、ステップS202以降の処理を続行していく。
ウェブアプリケーションシステム1は、処理実行計画に含まれる全ての単位処理の実行を完了すると、端末側起点の動作である処理実行計画処理を終了する。
以上で端末装置起点での処理実行の説明を終了する。
Thereafter, the terminal device side management unit 202 returns to the above-described step S202, and continues the processing after step S202.
When the web application system 1 completes the execution of all the unit processes included in the process execution plan, the web application system 1 ends the process execution plan process that is the operation at the terminal side starting point.
This is the end of the description of the process execution at the terminal device starting point.

[具体例]
上記初期化処理及び端末装置起点の処理実行の具体例を示す。
図16に、初期化処理開始前の、端末装置側処理実行履歴記憶部208に記憶されている処理実行履歴情報(区別のため「端末装置側処理実行履歴情報500T」とする)、及びサーバ側処理実行履歴記憶部108に記憶されている処理実行履歴情報(区別のため「サーバ側処理実行履歴情報500S」とする)のデータ例を示す。図16中(A)が端末装置側処理実行履歴情報500Tであり、(B)がサーバ側処理実行履歴情報500Sである。初期化処理開始前において、端末装置側処理実行履歴情報500T及びサーバ側処理実行履歴情報500S共に空の状態である。
[Concrete example]
A specific example of the initialization process and the process execution of the terminal device starting point will be shown.
FIG. 16 shows the process execution history information stored in the terminal device side process execution history storage unit 208 before starting the initialization process (referred to as “terminal device side process execution history information 500T” for distinction), and the server side. A data example of the process execution history information stored in the process execution history storage unit 108 (referred to as “server-side process execution history information 500S” for distinction) is shown. In FIG. 16, (A) is the terminal apparatus side process execution history information 500T, and (B) is the server side process execution history information 500S. Before the start of the initialization process, both the terminal device side process execution history information 500T and the server side process execution history information 500S are empty.

図16に示した状態の後、ステップS101からステップS103まで終了した時点における端末装置側処理実行履歴情報500T及びサーバ側処理実行履歴情報500Sのデータ例を図17に示す。サーバ側処理実行履歴情報500Sが空のままのため、端末装置側処理実行履歴情報500Tも空である。   FIG. 17 shows a data example of the terminal-side process execution history information 500T and the server-side process execution history information 500S at the time when the steps S101 to S103 are completed after the state shown in FIG. Since the server-side process execution history information 500S remains empty, the terminal device-side process execution history information 500T is also empty.

図17に示した状態の後、ステップS201からステップS205まで終了した時点における、端末装置側処理実行履歴情報500T及びサーバ側処理実行履歴情報500Sのデータ例を図18に示す。図18に示す端末装置側処理実行履歴情報500Tには、端末装置側負荷計測部204によって計測された負荷の値が格納されている。なお、この値は図11に示したデータによるものである。サーバ側処理実行履歴情報500Sは、この時点では空のままである。   FIG. 18 shows a data example of the terminal-side process execution history information 500T and the server-side process execution history information 500S at the time when the steps S201 to S205 are completed after the state shown in FIG. The terminal device side process execution history information 500T illustrated in FIG. 18 stores the load value measured by the terminal device side load measurement unit 204. This value is based on the data shown in FIG. The server-side process execution history information 500S remains empty at this point.

ステップS201からステップS205において、端末装置側管理部202から単位処理1の処理要求を受けた端末装置側処理分配部203は、単位処理1を端末装置20で実行するか、サーバ10に実行させるかを端末装置側処理実行履歴情報500Tに基づいて判定する。単位処理1の負荷の値は、端末装置20で実行した場合の負荷の値は「14」、サーバ10で実行した場合の負荷の値は「0」であるため、通信(負荷の値は20と計測されているとする)を考慮した上で、端末装置20での単位処理1の実行を選択し、端末装置側処理実行部205に単位処理1の実行を命令し、端末装置側処理実行部205は単位処理1を実行する。これで単位処理1の実行は終了したため、端末装置側処理分配部203は端末装置側管理部202に単位処理1の処理要求を送信しない。   In step S201 to step S205, the terminal device side processing distribution unit 203 that receives the processing request for unit processing 1 from the terminal device side management unit 202 executes unit processing 1 on the terminal device 20 or causes the server 10 to execute it. Is determined based on the terminal device side process execution history information 500T. The load value of the unit process 1 is “14” when executed by the terminal device 20 and “0” when executed by the server 10, so communication (load value is 20). Is selected), the execution of the unit process 1 in the terminal apparatus 20 is selected, the execution of the unit process 1 is instructed to the terminal apparatus side process execution unit 205, and the terminal apparatus side process is executed. The unit 205 executes unit processing 1. Since the execution of the unit process 1 is now completed, the terminal device side process distribution unit 203 does not transmit a process request for the unit process 1 to the terminal device side management unit 202.

次に、端末装置側管理部202から単位処理3の処理要求を受けた端末装置側処理分配部203は、単位処理3を端末装置20で実行するか、サーバ10に実行させるかを端末装置側処理実行履歴情報500Tに基づいて判定する。単位処理3の負荷の値は、端末装置20で実行した場合の負荷の値は「100」、サーバ10で実行した場合の負荷の値は「0」であるため、通信(負荷の値は20と計測されているとする)を考慮した上で、サーバ10での単位処理3の実行を選択し、単位処理3の実行をサーバ10に要求するよう端末装置側管理部202に命令する。このとき、端末装置側管理部202は図18に示した端末装置側処理実行履歴情報500Tをサーバ10に送信する。   Next, the terminal device side processing distribution unit 203 that has received the processing request for the unit processing 3 from the terminal device side management unit 202 determines whether to execute the unit processing 3 on the terminal device 20 or on the server 10 side. The determination is made based on the process execution history information 500T. Since the load value of the unit process 3 is “100” when executed by the terminal device 20 and the load value when “executed by the server 10 is“ 0 ”, communication (load value is 20). The terminal unit side management unit 202 is instructed to request the server 10 to execute the unit process 3. At this time, the terminal device side management unit 202 transmits the terminal device side processing execution history information 500T shown in FIG.

上記端末装置側処理実行履歴情報500Tを受信したサーバ10、より詳しくはサーバ側処理分配部103は、サーバ側処理実行履歴記憶部108に記憶されているサーバ側処理実行履歴情報500Sを、端末装置側処理実行履歴情報500Tを取り込むように更新する。   The server 10 that has received the terminal device side processing execution history information 500T, more specifically, the server side processing distribution unit 103, uses the server side processing execution history information 500S stored in the server side processing execution history storage unit 108 as the terminal device. The side processing execution history information 500T is updated to be captured.

次にサーバ10、より詳しくはサーバ側処理分配部103は、単位処理3を端末装置20に実行させるかサーバ10で実行するかを、サーバ側処理実行履歴情報500Sに基づいて判定する。単位処理3の負荷の値は、端末装置20で実行した場合の負荷の値は「100」、サーバ10で実行した場合の負荷の値は「0」であるため、通信(負荷の値は20と計測されているとする)を考慮した上で、サーバ10での単位処理3の実行を選択し、単位処理3の実行をサーバ10に要求するよう端末装置側管理部202に命令する。   Next, the server 10, more specifically, the server-side process distribution unit 103, determines whether the unit process 3 is to be executed by the terminal device 20 or executed by the server 10 based on the server-side process execution history information 500S. Since the load value of the unit process 3 is “100” when executed by the terminal device 20 and the load value when “executed by the server 10 is“ 0 ”, communication (load value is 20). The terminal unit side management unit 202 is instructed to request the server 10 to execute the unit process 3.

端末装置側管理部202から受信した単位処理3の実行要求に応じて、単位処理3の実行をサーバ側処理実行部105に命令し、サーバ側処理実行部105は単位処理3を実行する。サーバ側負荷計測部104は単位処理3の負荷の値を計測し、サーバ側処理実行履歴情報500Sに計測した負荷の値を書込む。その結果、処理名を「処理3」とし、要求元を「端末」とし、実行場所を「サーバ」とし、負荷を「10」とするレコードがサーバ側処理実行履歴情報500Sに追加される。この状態での端末装置側処理実行履歴情報500T、及びサーバ側処理実行履歴情報500Sのデータ例を図19に示す。   In response to the execution request for the unit process 3 received from the terminal device side management unit 202, the server side process execution unit 105 is instructed to execute the unit process 3, and the server side process execution unit 105 executes the unit process 3. The server-side load measuring unit 104 measures the load value of the unit process 3, and writes the measured load value in the server-side process execution history information 500S. As a result, a record having the process name “process 3”, the request source “terminal”, the execution location “server”, and the load “10” is added to the server-side process execution history information 500S. A data example of the terminal device side process execution history information 500T and the server side process execution history information 500S in this state is shown in FIG.

次に、サーバ側処理分配部103は、単位処理4の実行環境は端末装置20のみなので、単位処理4の実行を端末装置20に要求するようサーバ側管理部102に命令する。サーバ側管理部102は端末装置20、より詳しくは端末装置側管理部202に単位処理4の実行要求メッセージを送信する。   Next, since the execution environment of the unit process 4 is only the terminal device 20, the server side process distribution unit 103 instructs the server side management unit 102 to request the terminal device 20 to execute the unit process 4. The server side management unit 102 transmits an execution request message for the unit process 4 to the terminal device 20, more specifically, to the terminal device side management unit 202.

このとき、サーバ側管理部102は図19に示したサーバ側処理実行履歴情報500Sから端末装置用の処理実行履歴情報を生成し、端末装置用の処理実行履歴情報この端末装置20、より詳しく端末装置側管理部202に送信する。   At this time, the server-side management unit 102 generates processing execution history information for the terminal device from the server-side processing execution history information 500S shown in FIG. 19, and process execution history information for the terminal device. It transmits to the apparatus side management part 202.

上記端末装置用の処理実行履歴情報を受信した端末装置20、より詳しく端末装置側管理部202は上記処理実行履歴情報に基づいて、端末装置側処理実行履歴記憶部208に記憶されている端末装置側処理実行履歴情報500Tの内容を更新する。   The terminal device 20 that has received the processing execution history information for the terminal device, more specifically, the terminal device side management unit 202 is stored in the terminal device side processing execution history storage unit 208 based on the processing execution history information. The contents of the side process execution history information 500T are updated.

また、端末装置20、より詳しく端末装置側管理部202は、サーバ10からの単位処理4の実行要求に基づいて、端末装置側処理分配部203に単位処理4の実行要求を渡す。端末装置側処理分配部203は単位処理4の実行を端末装置側処理実行部205に要求し、端末装置側処理実行部205は単位処理4を実行する。端末装置側負荷計測部204は、単位処理4の負荷の値(サーバ10が要求元で、実行環境が端末装置である場合の負荷)を計測し、計測結果を受け取った端末装置側処理分配部203はこの負荷の値を端末装置側処理実行履歴情報500Tに書き加える。図20に、この時点での端末装置側処理実行履歴情報500T、及びサーバ側処理実行履歴情報500Sのデータ例を示す。
この後、端末装置20は、単位処理1、単位処理3、単位処理4からなる処理実行計画をさらに実行するものとして説明を続ける。
Further, the terminal device 20, more specifically the terminal device side management unit 202, passes the execution request for the unit process 4 to the terminal device side process distribution unit 203 based on the execution request for the unit process 4 from the server 10. The terminal apparatus side process distribution unit 203 requests the terminal apparatus side process execution unit 205 to execute the unit process 4, and the terminal apparatus side process execution unit 205 executes the unit process 4. The terminal device side load measuring unit 204 measures the load value of the unit process 4 (the load when the server 10 is the request source and the execution environment is the terminal device), and receives the measurement result. 203 writes the value of this load in the terminal apparatus side process execution history information 500T. FIG. 20 shows data examples of the terminal apparatus side process execution history information 500T and the server side process execution history information 500S at this point.
Thereafter, the terminal device 20 continues the description on the assumption that the process execution plan including the unit process 1, the unit process 3, and the unit process 4 is further executed.

端末装置側管理部202は、単位処理1の実行を端末装置側処理分配部203に要求すると、端末装置側処理分配部203は、単位処理1を端末装置側処理実行部205に実行させる。   When the terminal device-side management unit 202 requests the terminal device-side process distribution unit 203 to execute the unit process 1, the terminal device-side process distribution unit 203 causes the terminal device-side process execution unit 205 to execute the unit process 1.

次に、端末装置側処理分配部203は、図20に示す端末装置側処理実行履歴情報500Tの内容に基づいて、単位処理3を端末装置20で実行するかサーバ10に実行させるかを判定する。端末装置側処理実行履歴情報500Tは、単位処理3の負荷の値について、端末装置20で実行した場合の負荷の値は「100」、サーバ10で実行した場合の負荷の値は「10」であることを記述しているため、端末装置側処理分配部203は、通信(負荷の値は20と計測されているとする)を考慮した上で、より負荷の値の少ないサーバ10での単位処理3の実行を選択し、単位処理3の実行をサーバ10に要求するよう端末装置側管理部202に命令する。このとき、端末装置側管理部202は図20に示した端末装置側処理実行履歴情報500Tをサーバ10に送信する。   Next, the terminal device side processing distribution unit 203 determines whether the unit processing 3 is executed by the terminal device 20 or the server 10 based on the content of the terminal device side processing execution history information 500T illustrated in FIG. . In the terminal device side process execution history information 500T, with respect to the load value of the unit process 3, the load value when executed by the terminal device 20 is “100”, and the load value when executed by the server 10 is “10”. Since it is described that the terminal device side processing distribution unit 203 considers communication (the load value is measured as 20), the unit in the server 10 having a smaller load value is used. The execution of the process 3 is selected, and the terminal device side management unit 202 is instructed to request the server 10 to execute the unit process 3. At this time, the terminal device side management unit 202 transmits the terminal device side processing execution history information 500T shown in FIG.

図20に示した端末装置側処理実行履歴情報500Tを受信したサーバ10、より詳しくはサーバ側管理部102は、サーバ側処理実行履歴記憶部108に記憶されているサーバ側処理実行履歴情報500Sを、上記端末装置側処理実行履歴情報500Tを取り込むように更新する。この時点での端末装置側処理実行履歴情報500T、及びサーバ側処理実行履歴情報500Sのデータ例を図21に示す。   The server 10 that has received the terminal device side process execution history information 500T shown in FIG. 20, more specifically, the server side management unit 102, stores the server side process execution history information 500S stored in the server side process execution history storage unit 108. The terminal device side process execution history information 500T is updated so as to be taken in. FIG. 21 shows a data example of the terminal device side process execution history information 500T and the server side process execution history information 500S at this time.

次にサーバ10、より詳しくはサーバ側管理部102は、端末装置側管理部202から受信した単位処理3の実行要求に応じて、単位処理3の実行をサーバ側処理分配部103に命令する。サーバ側処理分配部103は、図21に示すサーバ側処理実行履歴情報500Sの内容に基づいて、単位処理3を端末装置20に実行させるか、サーバ10で実行するかを判定する。サーバ側処理実行履歴情報500Sは単位処理3の負荷の値は、端末装置20で実行した場合の負荷の値は「100」、サーバ10で実行した場合の負荷の値は「10」であることを記述しているため、端末装置側処理分配部203は、通信(負荷の値は20と計測されているとする)を考慮した上で、より負荷の値の少ないサーバ10での単位処理3の実行を選択し、単位処理3の実行をサーバ側処理実行部105に命令し、サーバ側処理実行部105は単位処理3を実行する。サーバ側負荷計測部104は単位処理3の負荷の値を計測し、サーバ側処理実行履歴情報500Sに計測した負荷の値を書込む。   Next, the server 10, more specifically, the server-side management unit 102, instructs the server-side process distribution unit 103 to execute the unit process 3 in response to the execution request for the unit process 3 received from the terminal device-side management unit 202. The server-side process distribution unit 103 determines whether to cause the terminal device 20 to execute the unit process 3 or the server 10 based on the contents of the server-side process execution history information 500S illustrated in FIG. In the server-side process execution history information 500S, the load value of the unit process 3 is “100” when it is executed by the terminal device 20, and “10” when it is executed by the server 10. Therefore, the terminal device side processing distribution unit 203 considers communication (assuming that the load value is measured as 20), and unit processing 3 in the server 10 having a smaller load value. And execution of the unit process 3 is instructed to the server side process execution unit 105, and the server side process execution unit 105 executes the unit process 3. The server-side load measuring unit 104 measures the load value of the unit process 3, and writes the measured load value in the server-side process execution history information 500S.

次に、サーバ側処理分配部103は、単位処理4の実行環境は端末装置20のみなので、単位処理4の実行を端末装置20に要求するようサーバ側管理部102に命令する。サーバ側管理部102は端末装置20、より詳しくは端末装置側管理部202に単位処理4の実行要求を送信する。   Next, since the execution environment of the unit process 4 is only the terminal device 20, the server side process distribution unit 103 instructs the server side management unit 102 to request the terminal device 20 to execute the unit process 4. The server side management unit 102 transmits an execution request for the unit process 4 to the terminal device 20, more specifically, to the terminal device side management unit 202.

このとき、サーバ側管理部102は図21に示した端末装置側処理実行履歴情報500Tから端末装置用に生成した処理実行履歴情報を端末装置20、より詳しく端末装置側管理部202に送信する。   At this time, the server-side management unit 102 transmits the process execution history information generated for the terminal device from the terminal device-side process execution history information 500T illustrated in FIG. 21 to the terminal device 20, and more specifically to the terminal device-side management unit 202.

上記処理実行履歴情報を受信した端末装置20、より詳しく端末装置側管理部202は上記処理実行履歴情報に基づいて、端末装置側処理実行履歴記憶部208に記憶されている端末装置側処理実行履歴情報500Tの内容を更新する。   The terminal device 20 that has received the process execution history information, more specifically, the terminal device side management unit 202, based on the process execution history information, stores the terminal device side process execution history stored in the terminal device side process execution history storage unit 208. The contents of the information 500T are updated.

また、端末装置20、より詳しく端末装置側管理部202は、サーバ10からの単位処理4の実行要求に基づいて、端末装置側処理分配部203に単位処理4の実行要求を渡す。端末装置側処理分配部203は単位処理4の実行を端末装置側処理実行部205に要求し、端末装置側処理実行部205は単位処理4を実行する。端末装置側負荷計測部204は、単位処理4の負荷の値(サーバ10が要求元で、実行環境が端末装置である場合の負荷)を計測し、計測結果を受け取った端末装置側処理分配部203はこの負荷の値を端末装置側処理実行履歴情報500Tに書き加える。図22に、この時点での端末装置側処理実行履歴情報500T、及びサーバ側処理実行履歴情報500Sのデータ例を示す。
以上で具体例の説明を終了する。
Further, the terminal device 20, more specifically the terminal device side management unit 202, passes the execution request for the unit process 4 to the terminal device side process distribution unit 203 based on the execution request for the unit process 4 from the server 10. The terminal apparatus side process distribution unit 203 requests the terminal apparatus side process execution unit 205 to execute the unit process 4, and the terminal apparatus side process execution unit 205 executes the unit process 4. The terminal device side load measuring unit 204 measures the load value of the unit process 4 (the load when the server 10 is the request source and the execution environment is the terminal device), and receives the measurement result. 203 writes the value of this load in the terminal apparatus side process execution history information 500T. FIG. 22 shows data examples of the terminal apparatus side process execution history information 500T and the server side process execution history information 500S at this time.
This is the end of the description of the specific example.

[1.2.2.2.端末装置側処理分配部及びサーバ側処理分配部の動作例]
次に端末装置側処理分配部203及びサーバ側処理分配部103の動作を説明する。図23に、端末装置側処理分配部203及びサーバ側処理分配部103の主たる動作(「処理分配処理」と呼ぶ)の一例を示したフローチャートを掲げ、図24に、図23に続くフローチャートを掲げる。なお、以下の説明では「端末装置側処理分配部」による処理分配処理として説明する。
処理分配処理において、端末装置側処理分配部203は端末装置側処理実行計画記憶部209から、一つの処理実行計画情報を読み出す(S301)。
[1.2.2.2. Example of operation of terminal device side processing distribution unit and server side processing distribution unit]
Next, operations of the terminal device side processing distribution unit 203 and the server side processing distribution unit 103 will be described. FIG. 23 shows a flowchart showing an example of the main operation (referred to as “process distribution processing”) of the terminal device side processing distribution unit 203 and the server side processing distribution unit 103, and FIG. 24 shows a flowchart following FIG. . In the following description, the processing distribution processing by the “terminal device side processing distribution unit” will be described.
In the process distribution process, the terminal apparatus side process distribution unit 203 reads one process execution plan information from the terminal apparatus side process execution plan storage unit 209 (S301).

次に端末装置側処理分配部203は、前記ステップS301において読み出した処理実行計画情報に記述されている一連の単位処理の内、当該単位処理の実行環境として自らの実行環境を含まない単位処理であって、当該一連の単位処理の内最初に実行されるもの(「単位処理A」と呼ぶ)を抽出する(S302)。   Next, the terminal device-side process distribution unit 203 is a unit process that does not include its own execution environment as an execution environment of the unit process in the series of unit processes described in the process execution plan information read in step S301. Thus, the first unit process to be executed (referred to as “unit process A”) is extracted (S302).

次に端末装置側処理分配部203は、上記条件を満たす単位処理Aが当該一連の単位処理に存在するか否かを判定する(S303)。ステップS303の判定において、上記条件を満たす単位処理Aが当該一連の単位処理に存在すると判定した場合(S303,Yes)、端末装置側処理分配部203は、前記一連の単位処理の内、いずれか二つの単位処理(単位処理B,単位処理Cと呼称)を選択する(S304)。ただし、単位処理Cは単位処理Bと同じかそれよりも後で実行される単位処理でなければならず、単位処理Bの実行から単位処理Cの実行までにおける負荷の合計量(負荷量BCと呼称)が、単位処理Bの実行から単位処理Cの実行をもう一方の実行環境にて実行としたときの負荷の合計量(負荷量BC)より小さくなければならない。   Next, the terminal device side process distribution unit 203 determines whether or not the unit process A satisfying the above condition exists in the series of unit processes (S303). If it is determined in step S303 that the unit process A satisfying the above condition exists in the series of unit processes (S303, Yes), the terminal device side process distribution unit 203 selects any one of the series of unit processes. Two unit processes (referred to as unit process B and unit process C) are selected (S304). However, the unit process C must be a unit process that is executed at the same time as or later than the unit process B, and the total amount of load from the execution of the unit process B to the execution of the unit process C (the load amount BC and Must be smaller than the total load (load amount BC) when the execution of the unit process B to the execution of the unit process C is executed in the other execution environment.

次に端末装置側処理分配部203は、前記一連の単位処理を全て自らの環境で実行した場合の負荷の合計量(負荷量Sと呼称)を算出する(S305)。
次に端末装置側処理分配部203は、前記負荷量Sは前記負荷量BC以下であるか否かを判定する(S306)。
Next, the terminal device side processing distribution unit 203 calculates the total amount of loads (referred to as load amount S) when all the series of unit processes are executed in its own environment (S305).
Next, the terminal device side processing distribution unit 203 determines whether or not the load amount S is equal to or less than the load amount BC (S306).

ステップS306において、前記負荷量Sは前記負荷量BC以下であると判定した場合(S306, Yes)、端末装置側処理分配部203は、前記一連の単位処理のそれぞれを、自らの実行環境で順番に実行させる(S307)。但し、最初の単位処理については、処理の要求元は渡された処理の要求元とし、以降の処理については自らの実行環境とする。また、実際に実行される単位処理は、処理要求元と処理対応表から決定されたものとする。   In step S306, when it is determined that the load amount S is equal to or less than the load amount BC (S306, Yes), the terminal device side process distribution unit 203 sequentially performs each of the series of unit processes in its own execution environment. (S307). However, for the first unit process, the process request source is the passed process request source, and the subsequent processes are their own execution environment. It is assumed that the unit process to be actually executed is determined from the process request source and the process correspondence table.

次に端末装置側処理分配部203は、ステップS307において実行された各単位処理の負荷の値を元に、端末装置側処理実行履歴記憶部208に記憶されている処理実行履歴情報を更新する(書き換える)(S308)。
以上で端末装置側処理分配部203は、当該処理実行計画情報についての処理分配処理を終了する。
Next, the terminal apparatus side process distribution unit 203 updates the process execution history information stored in the terminal apparatus side process execution history storage unit 208 based on the load value of each unit process executed in step S307 ( Rewrite) (S308).
The terminal device side process distribution unit 203 ends the process distribution process for the process execution plan information.

前述したステップS303に戻り、処理分配処理の説明を続ける。ステップS303において、上記条件を満たす単位処理Aが当該一連の単位処理に存在しないと判定した場合(S303,No)、端末装置側処理分配部203は、前記一連の単位処理の内いずれか一つの単位処理(単位処理Dと呼ぶ)を選択する(S309)。但し、単位処理Dは、単位処理Aと同じかそれよりも先に処理される単位処理であって、前記一連の単位処理における単位処理D以降の単位処理群をもう一方の実行環境で実行したときの負荷の合計量が最小であるものとする。なおここでの負荷の合計量の計算では単位処理Aまでの負荷しか考慮せず、単位処理A以降の負荷は無視する。   Returning to step S303 described above, the description of the process distribution process is continued. In step S303, when it is determined that the unit process A that satisfies the above condition does not exist in the series of unit processes (S303, No), the terminal device side process distribution unit 203 selects any one of the series of unit processes. A unit process (referred to as unit process D) is selected (S309). However, the unit process D is a unit process that is processed the same as or earlier than the unit process A, and the unit process group after the unit process D in the series of unit processes is executed in the other execution environment. Assume that the total amount of load at the time is minimal. In the calculation of the total amount of loads here, only the load up to the unit process A is considered, and the loads after the unit process A are ignored.

次に端末装置側処理分配部203は、前記一連の単位処理の内、前記単位処理Dより前までの各単位処理を実行する(S310)。ただし、実行する最初の単位処理については処理の要求元は渡された処理の要求元とし、以降の単位処理については自らの実行環境とする。また実際に実行される単位処理は処理要求元と処理対応表から決定されたものとする。   Next, the terminal apparatus side process distribution unit 203 executes each unit process before the unit process D in the series of unit processes (S310). However, for the first unit process to be executed, the request source of the process is the request source of the passed process, and the subsequent unit process is the own execution environment. It is assumed that the unit process to be actually executed is determined from the process request source and the process correspondence table.

次に端末装置側処理分配部203は、ステップS310において実行された各単位処理の負荷の値を元に、端末装置側処理実行履歴記憶部208に記憶されている処理実行履歴情報を更新する(書き換える)(S311)。   Next, the terminal device side process distribution unit 203 updates the process execution history information stored in the terminal device side process execution history storage unit 208 based on the load value of each unit process executed in step S310 ( Rewrite) (S311).

次に端末装置側処理分配部203は、単位処理Dの実行を端末装置側管理部202に要求する(S312)。その後、端末装置側処理分配部203は当該処理実行計画情報についての処理分配処理を終了する。   Next, the terminal device side processing distribution unit 203 requests the terminal device side management unit 202 to execute the unit process D (S312). Thereafter, the terminal apparatus side process distribution unit 203 ends the process distribution process for the process execution plan information.

前述したステップS306に戻り、処理分配処理の説明を続ける。ステップS306において、前記負荷量Sは前記負荷量BC以下ではないと判定した場合(S306, No)、端末装置側処理分配部203は、前記単位処理Bを単位処理Dとして定義しなおす(S313)。なお、単位処理Dは前述のステップS309で述べた条件に合致する単位処理である。ステップS313の後、端末装置側処理分配部203は前述のステップS310に進み、処理分配処理を続行する。   Returning to step S306 described above, the description of the process distribution process is continued. If it is determined in step S306 that the load amount S is not less than or equal to the load amount BC (S306, No), the terminal device side process distribution unit 203 redefines the unit process B as a unit process D (S313). . The unit process D is a unit process that meets the conditions described in step S309. After step S313, the terminal device side processing distribution unit 203 proceeds to step S310 described above, and continues the processing distribution processing.

以上で処理分配処理の説明を終了する。なお、上記の説明では、端末装置側処理分配部203の動作として処理分配処理を説明したが、上記説明を端末装置側処理分配部203をサーバ側処理分配部103と読み替え、端末装置側管理部202をサーバ側管理部102と読み替え、端末装置側処理実行計画記憶部209をサーバ側処理実行計画記憶部109と読み替えることにより、サーバ側処理分配部103における処理分配処理の説明となる。   This is the end of the description of the process distribution process. In the above description, the processing distribution processing has been described as the operation of the terminal device side processing distribution unit 203. However, the terminal device side processing distribution unit 203 is replaced with the server side processing distribution unit 103, and the terminal device side management unit is described. By replacing 202 with the server-side management unit 102 and replacing the terminal device-side process execution plan storage unit 209 with the server-side process execution plan storage unit 109, the processing distribution process in the server-side process distribution unit 103 is explained.

[1.2.2.2.端末装置側管理部の動作例]
以下に、端末装置側管理部202の動作を説明する。
[1.2.2.2.1.端末装置側通信時間計測処理]
端末装置側管理部202が実行する処理の一つである端末装置側通信時間計測処理を説明する。図25に、端末装置側管理部202の主たる動作の一つである端末装置側通信時間計測処理の一例を示したフローチャートを掲げる。
[1.2.2.2. Operation example of terminal device side management unit]
Below, operation | movement of the terminal device side management part 202 is demonstrated.
[1.2.2.2.1. Terminal device side communication time measurement processing]
A terminal device side communication time measurement process which is one of the processes executed by the terminal device side management unit 202 will be described. FIG. 25 is a flowchart showing an example of the terminal device side communication time measurement process which is one of the main operations of the terminal device side management unit 202.

端末装置側通信時間計測処理において、端末装置側管理部202はサーバ側管理部102に通信時間計測要求メッセージをネットワーク30を経由して送信する(S401)。次に、端末装置側管理部202は、上記通信時間計測要求メッセージに応答してサーバ側管理部102からネットワークを経由して返信されてくる応答メッセージを受信し、この応答メッセージの受信時刻を元に通信時間を算出し、算出した通信時間を記憶する(S402)。以上で端末装置側管理部202は端末装置側通信時間計測処理を終了する。なお、端末装置側通信時間計測処理は、いつ行われてもよいが、例えば前述のステップS101の実行をトリガとして行うようにしてもよいし、所定のタイミング、例えば端末装置20の電源投入時や所定時間の経過ごとに行うようにしてもよい。   In the terminal device side communication time measurement process, the terminal device side management unit 202 transmits a communication time measurement request message to the server side management unit 102 via the network 30 (S401). Next, the terminal device side management unit 202 receives a response message returned from the server side management unit 102 via the network in response to the communication time measurement request message, and based on the reception time of the response message. The communication time is calculated, and the calculated communication time is stored (S402). Thus, the terminal device side management unit 202 ends the terminal device side communication time measurement process. Note that the terminal device side communication time measurement process may be performed at any time, but may be performed using, for example, the execution of step S101 described above as a trigger, or at a predetermined timing, for example, when the terminal device 20 is turned on. You may make it perform every progress of predetermined time.

[1.2.2.2.2.端末装置側通信時間計測要求受信時処理]
端末装置側管理部202が実行する処理の一つである端末装置側通信時間計測要求受信時処理を説明する。図26に、端末装置側管理部202の主たる動作の一つである端末装置側通信時間計測要求受信時処理の一例を示したフローチャートを掲げる。端末装置側通信時間計測要求受信時処理は、端末装置20がサーバ10から通信時間計測要求メッセージを受信した場合に、端末装置20が実行する処理である。
[1.2.2.2.2. Terminal device side communication time measurement request reception processing]
The terminal device side communication time measurement request reception process, which is one of the processes executed by the terminal device side management unit 202, will be described. FIG. 26 is a flowchart showing an example of processing at the time of receiving a terminal device side communication time measurement request, which is one of the main operations of the terminal device side management unit 202. The terminal device side communication time measurement request reception process is a process executed by the terminal device 20 when the terminal device 20 receives a communication time measurement request message from the server 10.

端末装置側通信時間計測要求受信時処理において、端末装置側管理部202は、通信時間計測要求メッセージを受信した旨を伝えるメッセージである応答メッセージを生成し、これをサーバ側管理部102にネットワークを経由して送信する(S501)。以上で端末装置側管理部202は端末装置側通信時間計測要求受信時処理を終了する。   In the terminal device side communication time measurement request reception process, the terminal device side management unit 202 generates a response message, which is a message indicating that the communication time measurement request message has been received, and sends the response message to the server side management unit 102. Send via (S501). Thus, the terminal device side management unit 202 ends the terminal device side communication time measurement request reception process.

[1.2.2.3.サーバ側管理部の動作例]
次にサーバ側管理部102の動作を説明する。
[1.2.2.3.1.サーバ側通信時間計測処理]
サーバ側管理部102が実行する処理の一つであるサーバ側通信時間計測処理を説明する。図27に、サーバ側管理部102の主たる動作の一つであるサーバ側通信時間計測処理の一例を示したフローチャートを掲げる。
[1.2.2.3. Operation example of server side management unit]
Next, the operation of the server side management unit 102 will be described.
[1.2.2.3.1. Server side communication time measurement process]
The server side communication time measurement process which is one of the processes executed by the server side management unit 102 will be described. FIG. 27 is a flowchart showing an example of server-side communication time measurement processing that is one of the main operations of the server-side management unit 102.

サーバ側通信時間計測処理において、サーバ側管理部102は端末装置側管理部202に通信時間計測要求メッセージをネットワーク30を経由して送信する(S601)。次に、サーバ側管理部102は、上記通信時間計測要求メッセージに応答して端末装置側管理部202からネットワーク30を経由して返信される応答メッセージを受信し、この応答メッセージの受信時刻を元に通信時間を算出し、算出した通信時間を記憶する(S602)。以上でサーバ側管理部102はサーバ側通信時間計測処理を終了する。なお、サーバ側通信時間計測処理は、いつ行われてもよいが、所定のタイミング、所定時間の到来するごとに行うようにしてもよい。   In the server side communication time measurement process, the server side management unit 102 transmits a communication time measurement request message to the terminal device side management unit 202 via the network 30 (S601). Next, the server side management unit 102 receives a response message returned from the terminal device side management unit 202 via the network 30 in response to the communication time measurement request message, and based on the reception time of the response message. The communication time is calculated and the calculated communication time is stored (S602). Thus, the server side management unit 102 ends the server side communication time measurement process. The server side communication time measurement process may be performed at any time, but may be performed every time a predetermined timing and a predetermined time come.

[1.2.2.3.2.サーバ側通信時間計測要求受信時処理]
図28に、サーバ側管理部102の主たる動作の一つであるサーバ側通信時間計測要求受信時処理の一例を示したフローチャートを掲げる。サーバ側通信時間計測要求受信時処理は、サーバ10が端末装置20から通信時間計測要求メッセージを受信した場合に、サーバ10が実行する処理である。
[1.2.2.3.2. Processing when server side communication time measurement request is received]
FIG. 28 is a flowchart showing an example of a server-side communication time measurement request reception process, which is one of the main operations of the server-side management unit 102. The server side communication time measurement request reception process is a process executed by the server 10 when the server 10 receives a communication time measurement request message from the terminal device 20.

サーバ側通信時間計測要求受信時処理において、サーバ側管理部102は、通信時間計測要求メッセージを受信した旨を伝えるメッセージである応答メッセージを生成し、これを端末装置側管理部202にネットワーク30を経由して送信する(S701)。以上でサーバ側管理部102はサーバ側通信時間計測要求受信時処理を終了する。   In the server-side communication time measurement request reception process, the server-side management unit 102 generates a response message that indicates that the communication time measurement request message has been received, and sends the response message to the terminal device-side management unit 202 via the network 30. Send via (S701). Thus, the server-side management unit 102 ends the server-side communication time measurement request reception process.

[4.利点]
端末装置20とサーバ10の両者において実行可能な単位処理を、それぞれの実行環境で実行した場合の負荷の量に応じて、端末装置20又はサーバ10のいずれかに動的に割り振り、実行させることが可能となる。
[4. advantage]
A unit process that can be executed by both the terminal device 20 and the server 10 is dynamically allocated to and executed by either the terminal device 20 or the server 10 according to the amount of load when executed in each execution environment. Is possible.

また、本実施の形態によれば、サーバ10及び端末装置20は処理実行履歴情報500を蓄積していくため、端末装置側処理分配部203及びサーバ側処理分配部103による単位処理実行場所決定の方法によって、適切な分配方法に収束させることが可能となる。   Further, according to the present embodiment, since the server 10 and the terminal device 20 accumulate the process execution history information 500, the unit process execution place determination by the terminal device side process distribution unit 203 and the server side process distribution unit 103 is determined. The method makes it possible to converge to an appropriate distribution method.

処理の流れ(処理3をサーバにて実行するかどうか)によって、処理を自動的に切り替えることができる(例えば、処理3を端末装置20で実行した場合は処理4A、処理3をサーバ10で実行した場合は処理4B)。   Depending on the flow of the process (whether or not the process 3 is executed on the server), the process can be automatically switched (for example, when the process 3 is executed on the terminal device 20, the process 4A is executed on the server 10). If so, process 4B).

[5.まとめ、その他]
以上、本発明の実施の形態を説明したが、本発明はこれらに限定されるものではなく、発明の趣旨を逸脱しない範囲内において、種々の変更、追加、組み合わせ等が可能である。
[5. Summary, etc.]
As mentioned above, although embodiment of this invention was described, this invention is not limited to these, A various change, addition, a combination, etc. are possible in the range which does not deviate from the meaning of invention.

1…ウェブアプリケーションシステム; 10…サーバ; 20…端末装置; 30…ネットワーク; 102…サーバ側管理部; 103…サーバ側処理分配部; 104…サーバ側負荷計測部; 105…サーバ側処理時実行部; 202…端末装置側管理部; 203…端末装置側処理分配部; 204…端末装置側負荷計測部; 205…端末装置側処理実行部   DESCRIPTION OF SYMBOLS 1 ... Web application system; 10 ... Server; 20 ... Terminal device; 30 ... Network; 102 ... Server side management part; 103 ... Server side process distribution part; 104 ... Server side load measurement part; 202 ... Terminal device side management unit; 203 ... Terminal device side processing distribution unit; 204 ... Terminal device side load measurement unit; 205 ... Terminal device side processing execution unit

Claims (5)

処理を単位処理を用いて記述した情報である処理実行計画情報と、単位処理を特定する情報と、処理の要求元を特定する情報と、当該単位処理の実行環境を特定する情報と、当該単位処理の負荷の値と有する第1の処理実行履歴情報とを記憶する第1の記憶手段と、
第1の実行手段により実行された単位処理それぞれの負荷を計測し、計測の結果得られた負荷の値を、前記第1の処理実行履歴情報に書き込む第1の計測手段と、
第1の判定手段又は第2の判定手段に指定された単位処理を、第1の実行環境において実行する第1の実行手段と、
前記処理実行計画情報に含まれる各単位処理を前記第1の実行環境又は前記第2の実行環境のどちらで行うかを、前記第1の処理実行履歴情報に含まれる負荷の値に基づいて判定し、この判定の結果に基づいて各単位処理を前記第1の実行手段又は第2の実行手段のいずれかに実行させる第1の判定手段と、
前記処理実行計画情報と同一の情報と、単位処理を特定する情報と、処理の要求元を特定する情報と、当該単位処理の実行環境を特定する情報と、当該単位処理の負荷の値と有する第2の処理実行履歴情報とを記憶する第2の記憶手段と、
第2の実行手段によって実行された単位処理それぞれの負荷を計測し、計測の結果得られた負荷の値を、前記第2の処理実行履歴情報に書き込む第2の計測手段と、
前記第1の判定手段又は第2の判定手段に指定された単位処理を、第2の実行環境において実行する第2の実行手段と、
前記処理実行計画情報に含まれる各単位処理を前記第1の実行環境及び前記第2の実行環境のどちらで行うかを、前記第2の処理実行履歴情報に含まれる負荷の値に基づいて判定し、この判定の結果に基づいて、各単位処理を前記第1の実行手段及び前記第2の実行手段のいずれかに実行させる第2の判定手段と、
を有するウェブアプリケーションシステム。
Process execution plan information, which is information describing a process using a unit process, information specifying a unit process, information specifying a request source of the process, information specifying an execution environment of the unit process, and the unit First storage means for storing the value of the processing load and the first processing execution history information having;
A first measurement unit that measures the load of each unit process executed by the first execution unit, and writes the value of the load obtained as a result of the measurement in the first process execution history information;
First execution means for executing the unit processing designated by the first determination means or the second determination means in the first execution environment;
Determining whether to execute each unit process included in the process execution plan information in the first execution environment or the second execution environment based on the load value included in the first process execution history information And first determination means for causing each of the unit processes to be executed by either the first execution means or the second execution means based on the result of the determination;
The same information as the process execution plan information, information specifying a unit process, information specifying a process request source, information specifying an execution environment of the unit process, and a load value of the unit process Second storage means for storing second processing execution history information;
A second measuring unit that measures the load of each unit process executed by the second executing unit, and writes the value of the load obtained as a result of the measurement in the second process execution history information;
Second execution means for executing the unit processing designated by the first determination means or the second determination means in a second execution environment;
Determining whether to execute each unit process included in the process execution plan information in the first execution environment or the second execution environment based on a load value included in the second process execution history information Then, based on the result of this determination, second determination means for causing each of the unit processes to be executed by either the first execution means or the second execution means,
A web application system.
前記第1の判定手段は、前記第1の処理実行履歴情報に含まれる負荷の値を参照して、前記第1の実行環境における当該単位処理の負荷の値と、前記第2の実行環境における当該単位処理の負荷の値と通信にかかる負荷の合計値を比較して、当該単位処理を前記第1の実行手段及び前記第2の実行手段のいずれに実行させるかを判定し、
前記第2の判定手段は、前記第2の処理実行履歴情報に含まれる負荷の値を参照して、前記第1の実行環境における当該単位処理の負荷の値及び通信にかかる負荷の合計と、前記第2の実行環境における当該単位処理の負荷の値を比較して、当該単位処理を前記第1の実行手段及び前記第2の実行手段のいずれに実行させるかを判定する
請求項1のウェブアプリケーションシステム。
The first determination means refers to the load value included in the first process execution history information, and determines the load value of the unit process in the first execution environment and the second execution environment. Compare the value of the load of the unit process with the total value of the load on communication, determine which of the first execution unit and the second execution unit to execute the unit process,
The second determination means refers to the load value included in the second process execution history information, and the load value of the unit process in the first execution environment and the total load of communication, 2. The web according to claim 1, wherein a load value of the unit process in the second execution environment is compared to determine which of the first execution unit and the second execution unit to execute the unit process. Application system.
端末装置の種類又は種別を特定する情報である端末種別情報を送信する第1の管理手段と、
前記端末種別情報に基づいて、前記第2の処理実行履歴情報から、前記実行環境を特定する情報として前記端末種別情報に対応する情報が格納されているレコード、及び前記実行環境を特定する情報としてサーバを示す情報が格納されているレコードを抽出し、抽出したレコードからなる第3の処理実行履歴情報を生成し、これを前記第1の管理手段に送信する第2の管理手段と
をさらに有し、
前記第1の管理手段は、前記第3の処理実行履歴情報を、新たな第2の処理実行履歴情報として前記第1の記憶手段に記憶させる
請求項1又は2のウェブアプリケーションシステム。
First management means for transmitting terminal type information, which is information specifying the type or type of the terminal device;
Based on the terminal type information, from the second process execution history information, a record storing information corresponding to the terminal type information as information for specifying the execution environment, and information for specifying the execution environment A second management unit that extracts a record in which information indicating the server is extracted, generates third processing execution history information including the extracted record, and transmits the third processing execution history information to the first management unit; And
The web application system according to claim 1 or 2, wherein the first management means stores the third process execution history information in the first storage means as new second process execution history information.
前記第1の管理手段は、前記第1の処理実行履歴情報を前記第2の管理手段に送信し、
前記第2の管理手段は、受信した前記第1の処理実行履歴情報に基づいて、前記第2の処理実行履歴情報を更新する
請求項3のウェブアプリケーションシステム。
The first management means transmits the first process execution history information to the second management means,
4. The web application system according to claim 3, wherein the second management unit updates the second process execution history information based on the received first process execution history information.
前記第1の記憶手段は、前記処理実行計画情報に記述された単位処理を特定する情報と、前記第1の実行手段が実行する単位処理を特定する情報とを対応付けて記述した情報である処理対応表情報をさらに記憶し、
前記第2の記憶手段は、前記処理実行計画情報に記述された単位処理を特定する情報と、前記第2の実行手段が実行する単位処理を特定する情報とを対応付けて記述した情報である処理対応表情報をさらに記憶する
請求項1から4のウェブアプリケーションシステム。
The first storage means is information in which information specifying a unit process described in the process execution plan information is associated with information specifying a unit process executed by the first execution means. Further storing processing correspondence table information,
The second storage means is information in which information for specifying a unit process described in the process execution plan information is associated with information for specifying a unit process to be executed by the second execution means. 5. The web application system according to claim 1, further storing processing correspondence table information.
JP2014149429A 2014-07-23 2014-07-23 Web application system Active JP6246672B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014149429A JP6246672B2 (en) 2014-07-23 2014-07-23 Web application system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014149429A JP6246672B2 (en) 2014-07-23 2014-07-23 Web application system

Publications (2)

Publication Number Publication Date
JP2016024700A true JP2016024700A (en) 2016-02-08
JP6246672B2 JP6246672B2 (en) 2017-12-13

Family

ID=55271388

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014149429A Active JP6246672B2 (en) 2014-07-23 2014-07-23 Web application system

Country Status (1)

Country Link
JP (1) JP6246672B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10228453A (en) * 1997-02-13 1998-08-25 Fujitsu Ltd Distributed computer system, its computer and distributed processing method
JP2004264957A (en) * 2003-02-28 2004-09-24 Hitachi Ltd Job execution method in different computer environment and its program
JP2012079124A (en) * 2010-10-01 2012-04-19 Fuji Xerox Co Ltd Job distribution processing system, information processor, and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10228453A (en) * 1997-02-13 1998-08-25 Fujitsu Ltd Distributed computer system, its computer and distributed processing method
JP2004264957A (en) * 2003-02-28 2004-09-24 Hitachi Ltd Job execution method in different computer environment and its program
JP2012079124A (en) * 2010-10-01 2012-04-19 Fuji Xerox Co Ltd Job distribution processing system, information processor, and program

Also Published As

Publication number Publication date
JP6246672B2 (en) 2017-12-13

Similar Documents

Publication Publication Date Title
CN104317914A (en) Data acquiring method and device
EP3197132B1 (en) User-specific roaming settings
KR101907837B1 (en) Application activation framework
CN110650209B (en) Method and device for realizing load balancing
CN104769572A (en) Updating a front end client
JP2013015991A (en) Information processor, server selection method, and program
WO2015085736A1 (en) Method and system for accessing a distributed file system
CN111290907A (en) Distributed storage network pressure measurement method and device, computer device and storage medium
CN110825425A (en) Configuration data management method and device, electronic equipment and storage medium
KR20180061589A (en) Software build system and software build method using the system
CN110324384B (en) Data pushing method and device
CN102004729A (en) Method and system for showing website webpage and website server
EP2942711B1 (en) Dynamic generation of proxy connections
JP6246672B2 (en) Web application system
US9191445B2 (en) Systems and methods for managing emulation sessions
US11714699B2 (en) In-app failure intelligent data collection and analysis
JP2016099709A (en) Access control program, access control method, and access control apparatus
CN109804351B (en) Enhanced governance of asynchronous computational operations
US11822863B2 (en) Model based system for virtual device simulation
CN108289114A (en) Cloud service system and method for processing cloud service exception
US8527580B2 (en) Saving multiple data items using partial-order planning
US20150143333A1 (en) Native Application Variation
CN111708582A (en) Online configuration method and device and electronic equipment
CN111552572A (en) Task processing method, readable storage medium and electronic device
KR102058541B1 (en) Server monitering method and server monitering apparatus using the method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160921

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170718

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170915

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171003

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171010

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171115

R151 Written notification of patent or utility model registration

Ref document number: 6246672

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151