Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7603628B2 - Distributed computing control system, method and program - Google Patents
[go: Go Back, main page]

JP7603628B2 - Distributed computing control system, method and program - Google Patents

Distributed computing control system, method and program Download PDF

Info

Publication number
JP7603628B2
JP7603628B2 JP2022027206A JP2022027206A JP7603628B2 JP 7603628 B2 JP7603628 B2 JP 7603628B2 JP 2022027206 A JP2022027206 A JP 2022027206A JP 2022027206 A JP2022027206 A JP 2022027206A JP 7603628 B2 JP7603628 B2 JP 7603628B2
Authority
JP
Japan
Prior art keywords
web browser
program
management server
distributed processing
program code
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.)
Active
Application number
JP2022027206A
Other languages
Japanese (ja)
Other versions
JP2023123244A (en
Inventor
柊 関川
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.)
KDDI Corp
Original Assignee
KDDI 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 KDDI Corp filed Critical KDDI Corp
Priority to JP2022027206A priority Critical patent/JP7603628B2/en
Publication of JP2023123244A publication Critical patent/JP2023123244A/en
Application granted granted Critical
Publication of JP7603628B2 publication Critical patent/JP7603628B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、ネットワークに接続された不特定多数のデバイスを用いて対象ジョブを分散処理する分散コンピューティング制御システム、方法及びプログラムに係り、特に、Webブラウザを実装した複数のワーカデバイスが管理サーバと連携してジョブを分散処理するシステム、方法及びプログラムに関する。 The present invention relates to a distributed computing control system, method, and program that performs distributed processing of target jobs using an unspecified number of devices connected to a network, and in particular to a system, method, and program in which multiple worker devices equipped with a web browser work together with a management server to perform distributed processing of jobs.

次世代の無線インフラのアーキテクチャの1つとして、モバイル網にエッジコンピューティングの仕組みを実装するMEC(Multi-access Edge Computing)が注目されている。MECではデータの処理機能の一部をクラウドではなく、ユーザにより近いモバイルネットワーク内(例えば、無線基地局)にエッジサーバとして配置することで低遅延かつ広帯域のモバイル通信を可能にする。 As one of the architectures for next-generation wireless infrastructure, MEC (Multi-access Edge Computing), which implements edge computing mechanisms in mobile networks, is attracting attention. MEC enables low-latency, high-bandwidth mobile communications by placing part of the data processing function not in the cloud but as an edge server within the mobile network (for example, in a wireless base station) closer to the user.

一方、無線基地局の空間的、電力的な制約から、各無線基地局に配置できるエッジサーバの能力が当該無線基地局に収容できるデバイス数に対して十分ではないという課題があった。このような技術課題に対して、無線基地局が収容するデバイス群に対象ジョブを分散処理させる分散コンピューティングシステムが注目されている。 However, due to spatial and power constraints of wireless base stations, there is an issue that the capacity of the edge servers that can be placed at each wireless base station is not sufficient for the number of devices that the wireless base station can accommodate. In response to this technical issue, distributed computing systems that distribute the processing of target jobs to the group of devices accommodated by the wireless base station have attracted attention.

特許文献1には、仮想マシンを用いたクラウドコンピューティングによりユーザへコンピューティングサービスを提供することで、演算処理を実施するデバイスにおける演算処理プログラムのインストール及び更新を不要とする技術が開示されている。 Patent Document 1 discloses a technology that provides computing services to users through cloud computing using virtual machines, eliminating the need to install and update computation programs on devices that perform computation.

特開2014-130591号公報JP 2014-130591 A

特許文献1によれば、ユーザがコンピューティングサービスを要求するたびに演算処理プログラムをインストールする必要がなくなり、更新する時間及びリソースを削減できるようになる。しかしながら、この手法ではコンピューティングサービスを提供するデバイスにおいて仮想マシンを実行可能な環境、及び仮想マシンを管理するための機能が必要となる。 According to Patent Document 1, it becomes unnecessary for a user to install an arithmetic processing program every time he or she requests a computing service, which reduces the time and resources required for updates. However, this method requires an environment in which a virtual machine can be executed on the device that provides the computing service, and a function for managing the virtual machine.

一方、複数のユーザが自身のデバイスをコンピューティングサービスの演算処理を実施するデバイスとして提供し、分散コンピューティングを実現するボランティア・コンピューティング等においては、スマートフォンやPCなどのユーザ端末、あるいはIoT(Internet of Things)デバイスなどの不特定多数かつ異種のデバイスが混在することが想定される。これらのデバイスを用いて分散コンピューティングサービスを提供するためには以下のような課題が存在する。 On the other hand, in volunteer computing, where multiple users provide their own devices as devices that perform the calculations of a computing service to realize distributed computing, it is assumed that there will be a large number of heterogeneous devices, such as user terminals such as smartphones and PCs, or IoT (Internet of Things) devices. In order to provide distributed computing services using these devices, the following challenges exist.

第1に、コンピューティングサービスを提供するデバイスとして不特定のデバイスを使用するため、予めコンピューティングサービスに必要な仮想マシンの実行環境や管理機能を統一的にインストールすることが困難である。 First, because unspecified devices are used to provide computing services, it is difficult to uniformly install the virtual machine execution environment and management functions required for the computing services in advance.

第2に、コンピューティングサービスを提供するデバイスとして他のユーザの持つデバイスやIoTデバイスなどが想定される。この場合、各デバイスが異なるプロセッサアーキテクチャ、OS(Operating System)、アプリケーションを備えるものとして、各デバイスが共通のプログラムを用いて分散処理を実行する機能が不可欠となる。 Secondly, devices that provide computing services are assumed to be devices owned by other users or IoT devices. In this case, since each device will have a different processor architecture, OS (Operating System), and applications, it will be essential for each device to have the function of executing distributed processing using a common program.

本発明の目的は、上記の技術課題を解決し、各デバイスのプロセッサアーキテクチャやOS等が異なっていても共通のエージェント機能及び分散処理プログラムを用いて対象ジョブを各デバイスに分散処理させることを可能とする分散コンピューティング制御システム、方法及びプログラムを提供することにある。 The object of the present invention is to provide a distributed computing control system, method, and program that solves the above technical problems and enables distributed processing of target jobs among devices using a common agent function and distributed processing program, even if the processor architecture, OS, etc. of each device are different.

上記の目的を達成するために、本発明は、Webブラウザを実装した複数のワーカデバイスが管理サーバと連携してジョブを分散処理する分散コンピューティング制御システムにおいて、以下の構成を具備した点に特徴がある。 To achieve the above objective, the present invention is characterized in that a distributed computing control system in which multiple worker devices equipped with a web browser work together with a management server to perform distributed processing of jobs has the following configuration.

(1) 各ワーカデバイスが、Webブラウザで管理サーバへアクセスしてエージェント機能を取得する手段と、Webブラウザを実行基盤として前記エージェント機能を起動する手段と、エージェント機能に管理サーバから分散処理プログラムを取得させる手段と、Webブラウザを実行基盤として前記分散処理プログラムを起動する手段と、分散処理の結果を管理サーバへ応答する手段とを具備した。 (1) Each worker device is provided with a means for accessing a management server with a web browser to obtain an agent function, a means for starting the agent function using the web browser as an execution platform, a means for the agent function to obtain a distributed processing program from the management server, a means for starting the distributed processing program using the web browser as an execution platform, and a means for responding to the management server with the results of distributed processing.

(2) 分散処理プログラムがWebブラウザのサンドボックス実行環境において起動されるようにした。 (2) Distributed processing programs are now launched in a sandbox execution environment in a web browser.

(3) 分散処理プログラムがプログラムコード及び当該プログラムコードに対してインタフェースを提供するインタフェースコードを含むプログラムモジュールであり、プログラムコードはサンドボックス実行環境で起動され、インタフェースコードはプログラムコードに対してWebブラウザ及びエージェント機能へのインタフェースを提供するようにした。 (3) The distributed processing program is a program module including program code and interface code that provides an interface to the program code, the program code is launched in a sandbox execution environment, and the interface code provides the program code with an interface to a web browser and agent functions.

(4) エージェント機能は、Webブラウザが標準で備えるプログラム実行機能を利用してインタフェースコードを起動するようにした。 (4) The agent function launches the interface code by using the program execution function that is standard in web browsers.

(5) エージェント機能は、Webブラウザが標準で備えるファイル取得機能を利用して管理サーバから分散処理プログラムを取得するようにした。 (5) The agent function uses the file acquisition function that is standard in web browsers to obtain distributed processing programs from the management server.

(6) プログラムコードをサンドボックス実行環境で実行可能な命令セットによって記述するようにした。 (6) Program code is written using an instruction set that can be executed in the sandbox execution environment.

(7) エージェント機能を各ワーカデバイスのWebブラウザへ当該Webブラウザの標準言語で実装するようにした。 (7) The agent function is implemented in the web browser of each worker device in the standard language of that web browser.

(8) エージェント機能は、Webブラウザ内での起動後に管理サーバに対して自身のワーカデバイスを登録するようにした。 (8) The agent function now registers its own worker device to the management server after launching in a web browser.

本発明によれば以下のような効果が達成される。 The present invention achieves the following effects:

(1) エージェント機能を各ワーカデバイスのWebブラウザ内で実行するのでエージェント機能のインストールが不要となる。 (1) The agent function runs within the web browser of each worker device, eliminating the need to install the agent function.

(2) エージェント機能を各ワーカデバイスのWebブラウザ内で実行するので、各デバイスのプロセッサアーキテクチャやOSが異なる環境でもエージェント機能をプロセッサアーキテクチャやOSごとに用意する必要がなくなる。 (2) Because the agent function runs within the web browser of each worker device, there is no need to prepare an agent function for each processor architecture or OS, even in environments where the processor architecture or OS of each device is different.

(3) 分散処理を実行するプログラムコードをWebブラウザ内で実行するので、デバイスのプロセッサアーキテクチャやOSが異なる環境でもプログラムコードをプロセッサアーキテクチャやOSごとに用意する必要がなくなる。 (3) Because the program code that performs distributed processing is executed within a web browser, there is no need to prepare program code for each processor architecture or OS, even in environments with different device processor architectures or OSs.

(4) Webブラウザで管理サーバへアクセスすることでエージェント機能がWebブラウザ内で起動し、同時に管理サーバに対してワーカデバイスが登録されるので、管理サーバに対するデバイス情報登録などのユーザ操作が不要となる。 (4) By accessing the management server with a web browser, the agent function is launched within the web browser and the worker device is simultaneously registered with the management server, eliminating the need for user operations such as registering device information with the management server.

(5) プログラムコードをWebブラウザ内のサンドボックス実行環境において実行するので、プログラムコードがWebブラウザ内あるいはデバイス内で実行される他のプログラムの動作に影響を与えたり、あるいはWebブラウザおよびWebブラウザ内で実行される他のプログラムのメモリ情報へ不正アクセスしたりすることを防止できる。 (5) Because the program code is executed in a sandbox execution environment within the web browser, it is possible to prevent the program code from affecting the operation of other programs executed within the web browser or the device, or from gaining unauthorized access to memory information of the web browser or other programs executed within the web browser.

(6) 分散処理を実行するプログラムコードが入出力機能にアクセスする際にインタフェースコードを介するため、分散処理における入出力機能の実装を、プログラムコードを修正することなくインタフェースコードを変更するだけで変更できる。 (6) Because the program code that executes distributed processing accesses input/output functions via interface code, the implementation of input/output functions in distributed processing can be changed simply by changing the interface code without modifying the program code.

(7) 分散処理を実行するプログラムコードが入出力機能にアクセスする際にインタフェースコードを介するため、インタフェースコードにおいてプログラムコードに渡す、あるいはプログラムコードから出力されるデータの検証、アクセス範囲の制御を行うことができる。 (7) Because the program code that executes distributed processing accesses the input/output functions via the interface code, the interface code can verify the data that is passed to the program code or output from the program code and control the access range.

(8) インタフェースコードを切り替えることで入出力機能の実装を変更することができるので、Webブラウザ外の環境でも共通の命令セットを持つサンドボックス実行環境があれば、インタフェースコードをWebブラウザ外の入出力機能用に変更することでプログラムコードを変更することなく実行できる。 (8) Since the implementation of input/output functions can be changed by switching the interface code, if there is a sandbox execution environment with a common instruction set even in environments outside of a web browser, the interface code can be changed to use input/output functions outside of a web browser, allowing the program to be executed without changing the program code.

本発明の一実施形態に係る分散コンピューティング制御機構が適用されるネットワーク基盤の構成を示した図である。1 is a diagram illustrating a configuration of a network infrastructure to which a distributed computing control mechanism according to an embodiment of the present invention is applied. 管理サーバ及びワーカデバイスの構成を示した機能ブロック図である。FIG. 2 is a functional block diagram showing the configuration of a management server and a worker device. ワーカデバイスにおけるWebブラウザの機能ブロック図である。FIG. 2 is a functional block diagram of a Web browser in a worker device. 複数のジョブを分散処理するワーカデバイスの機能ブロック図である。FIG. 2 is a functional block diagram of a worker device that performs distributed processing of a plurality of jobs. ワーカデバイス上でプログラムコードを実行する手順を示したシーケンスフロー(その1)である。1 is a sequence flow (part 1) illustrating a procedure for executing program code on a worker device. ワーカデバイス上でプログラムコードを実行する手順を示したシーケンスフロー(その2)である。13 is a sequence flow (part 2) illustrating a procedure for executing program code on a worker device. ワーカデバイス上でプログラムコードを実行する手順を示したシーケンスフロー(その3)である。13 is a sequence flow (part 3) illustrating a procedure for executing program code on a worker device. ワーカデバイスのユーザがジョブ依頼者として3D映像の再生に係る3D処理を複数のワーカデバイスへ依頼する例を模式的に示した図である。13 is a diagram illustrating an example in which a user of a worker device, as a job requester, requests 3D processing related to the playback of 3D video images to a plurality of worker devices. FIG. 交通量や天気をカメラ画像に基づいて予測するモデルを機械学習するジョブを複数のワーカデバイスで分散処理する例を模式的に示した図である。FIG. 13 is a diagram illustrating an example of distributed processing, by a plurality of worker devices, of a job for machine learning a model for predicting traffic volume and weather based on camera images.

以下、図面を参照して本発明の実施の形態について詳細に説明する。図1は、本発明の分散コンピューティング制御機構が適用されるネットワーク基盤の構成を模式的に示した図である。エッジサーバ1にはネットワーク経由で多数のワーカデバイス10が収容され、各ワーカデバイス10はエッジサーバ1と連携して対象ジョブを分散処理する。 The following describes in detail an embodiment of the present invention with reference to the drawings. Figure 1 is a diagram showing a schematic configuration of a network infrastructure to which the distributed computing control mechanism of the present invention is applied. An edge server 1 accommodates a large number of worker devices 10 via a network, and each worker device 10 works in conjunction with the edge server 1 to perform distributed processing of target jobs.

本実施形態では、各ワーカデバイス10における分散処理を管理するサーバ機能が管理サーバ20としてエッジサーバ1に実装される場合を例にして説明するが、管理サーバ20はエッジサーバ1から独立した専用サーバとして構成しても良い。 In this embodiment, we will explain an example in which the server function that manages the distributed processing in each worker device 10 is implemented in the edge server 1 as the management server 20, but the management server 20 may also be configured as a dedicated server independent of the edge server 1.

管理サーバ20は、後に詳述するWebサーバ機能21及び管理機能22を有し、分散処理の対象ジョブを実行するプログラムモジュール30を保持する。管理サーバ20は各ワーカデバイス10へプログラムモジュール30を配信してWebブラウザ内で実行させ、処理結果を各ワーカデバイス10から取得する。 The management server 20 has a web server function 21 and a management function 22, which will be described in detail later, and holds a program module 30 that executes the target job of distributed processing. The management server 20 distributes the program module 30 to each worker device 10, executes it in a web browser, and obtains the processing results from each worker device 10.

ワーカデバイス10は、パーソナルコンピュータ(PC)10a,スマートフォン10b、ウエアラブル端末10cあるいはロボット10d等の汎用デバイスであり、いずれのワーカデバイス10もWebブラウザを搭載している。 The worker devices 10 are general-purpose devices such as a personal computer (PC) 10a, a smartphone 10b, a wearable terminal 10c, or a robot 10d, and each worker device 10 is equipped with a web browser.

図2は、管理サーバ20及びワーカデバイス10の構成を示した機能ブロック図であり、図3は、ワーカデバイス10におけるWebブラウザ11の機能を模式的に示したブロック図である。管理サーバ20は複数のワーカデバイス10を管理するが、ここではその一つに注目して説明する。 Figure 2 is a functional block diagram showing the configuration of the management server 20 and the worker device 10, and Figure 3 is a block diagram showing the functions of the web browser 11 in the worker device 10. The management server 20 manages multiple worker devices 10, but the following explanation focuses on one of them.

管理サーバ20はWebサーバ機能21及び管理機能22を主要な構成とし、分散処理用のプログラムモジュール30を保持する。管理機能22はワーカデバイス10及びその分散処理の管理を行う。Webサーバ機能21はワーカデバイス10が管理サーバ20へアクセスするためのアクセスインタフェースとして機能し、エージェント機能12及びプログラムモジュール30を各ワーカデバイス10へ配信する。 The management server 20 mainly comprises a web server function 21 and a management function 22, and holds a program module 30 for distributed processing. The management function 22 manages the worker devices 10 and their distributed processing. The web server function 21 functions as an access interface for the worker devices 10 to access the management server 20, and distributes the agent function 12 and the program module 30 to each worker device 10.

エージェント機能12はワーカデバイス10のWebブラウザ11内でその実行エンジン14により実行できるように、Web標準として採用されたHTML (Hypertext Markup Language)、CSS (Cascading Style Sheets)、JavaScriptなどの言語を組み合わせて実装される。 The agent function 12 is implemented by combining languages such as HTML (Hypertext Markup Language), CSS (Cascading Style Sheets), and JavaScript that have been adopted as web standards so that it can be executed by the execution engine 14 within the web browser 11 of the worker device 10.

エージェント機能12はWebブラウザの操作に応答して管理サーバ20の管理機能22に接続することでワーカデバイス情報を交換する。管理機能22がワーカデバイス10に処理対象のジョブを割り当てると、エージェント機能12は当該ジョブに対応するプログラムモジュール30をWebサーバ機能21から取得する。 The agent function 12 exchanges worker device information by connecting to the management function 22 of the management server 20 in response to a web browser operation. When the management function 22 assigns a job to be processed to the worker device 10, the agent function 12 obtains the program module 30 corresponding to the job from the web server function 21.

プログラムモジュール30は分散処理の内容を記述したプログラムコード31と当該プログラムコード31の動作に必要な入出力処理を記述したインタフェースコード32とから構成される。 The program module 30 is composed of a program code 31 that describes the contents of the distributed processing, and an interface code 32 that describes the input/output processing required for the operation of the program code 31.

図3に示すように、プログラムコード31はWebブラウザ11内のサンドボックス実行環境13において起動、実行され、インタフェースコード32はWebブラウザ11により起動、実行される。したがって、プログラムコード31はサンドボックス実行環境13で実行可能な命令セットで記述される。インタフェースコード32はエージェント機能12によってWebブラウザ11の実行エンジン14に読み込まれる。 As shown in FIG. 3, the program code 31 is launched and executed in the sandbox execution environment 13 within the Web browser 11, and the interface code 32 is launched and executed by the Web browser 11. Therefore, the program code 31 is written in an instruction set that can be executed in the sandbox execution environment 13. The interface code 32 is loaded into the execution engine 14 of the Web browser 11 by the agent function 12.

このように、本実施形態ではプログラムコード31をWebブラウザ11内のサンドボックス実行環境13において実行するので、プログラムコード31がWebブラウザ11内あるいはデバイス10内で実行される他のプログラムの動作に影響を与えたり、あるいはWebブラウザおよびWebブラウザ内で実行される他のプログラムのメモリ情報へ不正アクセスしたりすることを防止できる。 In this manner, in this embodiment, the program code 31 is executed in the sandbox execution environment 13 within the web browser 11, which prevents the program code 31 from affecting the operation of other programs executed within the web browser 11 or the device 10, or from gaining unauthorized access to memory information of the web browser or other programs executed within the web browser.

前記プログラムコード31はインタフェースコード32を介して関数ベースでWebブラウザ11の入出力機能を利用する。start()関数はプログラム起動用の関数である。proc1()関数は入出力機能を必要としない処理を実行し、proc2()関数は入出力機能を必要とする処理を実行する。 The program code 31 uses the input/output functions of the web browser 11 on a function basis via the interface code 32. The start() function is a function for starting a program. The proc1() function executes processes that do not require input/output functions, and the proc2() function executes processes that require input/output functions.

インタフェースコード32はサンドボックス実行環境13に隔離されたプログラムコード31に対して、そのAPIを介してインスタンス131の作成や各種関数の呼び出しを行うことで必要な入出力機能を提供する。入力情報の例としては、ワーカデバイス10が備えるカメラ映像、センサ情報及びエージェント機能12から与えられたパラメータなどがある。出力情報の例としては、プログラムコード31による演算処理結果やログ情報などがある。 The interface code 32 provides necessary input/output functions to the program code 31 isolated in the sandbox execution environment 13 by creating instances 131 and calling various functions via the API. Examples of input information include camera images and sensor information provided by the worker device 10, and parameters provided by the agent function 12. Examples of output information include the results of calculations performed by the program code 31, log information, etc.

インタフェースコード32にはプログラムコード31が必要とする情報にアクセスするための具体的な処理が実装される。一例として、JavaScriptを使用してWebブラウザ11を介してセンサ情報にアクセスする処理等を実装できる。 Specific processing for accessing information required by program code 31 is implemented in interface code 32. As an example, processing for accessing sensor information via web browser 11 using JavaScript can be implemented.

インタフェースコード32は更に、プログラムコード31との連携を行うためにインスタンス131へアクセスし、プログラムコード31との双方向の関数、例えばmain()関数やsensor()関数の呼び出しを行う機能を持つ。 The interface code 32 further has the ability to access the instance 131 to cooperate with the program code 31 and to call functions in both directions with the program code 31, such as the main() function and the sensor() function.

main()関数はエージェント機能12がインタフェースコード32を呼び出す際に自動的に実行され、対応するプログラムコード31をサンドボックス実行環境13に引き渡してインスタンス131を作成する。これにより入力情報のプログラムコード31への受け渡し、及びプログラムコード31からの出力情報の取得を行うことができる。sensor()関数はproc2()関数により呼び出され、プログラムコード31に対してWebブラウザ11の入出力機能を提供する。 The main() function is executed automatically when the agent function 12 calls the interface code 32, and passes the corresponding program code 31 to the sandbox execution environment 13 to create an instance 131. This makes it possible to pass input information to the program code 31 and obtain output information from the program code 31. The sensor() function is called by the proc2() function, and provides the input/output functions of the web browser 11 to the program code 31.

このようなサンドボックス実行環境13としてはWebAssembly技術等を採用できる。本実施形態では、図3に示すようにプログラムコード31がサンドボックス実行環境13に読み込まれると対応するインスタンス131が作成され、インスタンス内でプログラムコード31が利用するメモリ領域132やプログラムカウンタ133といった実行用リソース134が確保される。これによりプログラムコード31をエージェント機能12やWebブラウザ11で開かれている他のWebページのプログラムとは隔離された環境で実行できる。 WebAssembly technology or the like can be adopted as such a sandbox execution environment 13. In this embodiment, as shown in FIG. 3, when program code 31 is loaded into the sandbox execution environment 13, a corresponding instance 131 is created, and execution resources 134 such as a memory area 132 and a program counter 133 used by the program code 31 are secured within the instance. This allows the program code 31 to be executed in an environment isolated from the agent function 12 and programs of other web pages opened in the web browser 11.

各ワーカデバイス10において複数の分散処理ジョブを実行するようにしても良い。この場合は図4に示すように、ワーカデバイス10は複数のプログラムモジュール30(30a,30b)を管理サーバ20のWebサーバ機能21から取得し、Webブラウザ11内でそれぞれのプログラムコード31a,31b及びインタフェースコード32a,32bを同時に実行する。 Each worker device 10 may execute multiple distributed processing jobs. In this case, as shown in FIG. 4, the worker device 10 acquires multiple program modules 30 (30a, 30b) from the Web server function 21 of the management server 20, and executes the respective program codes 31a, 31b and interface codes 32a, 32b simultaneously within the Web browser 11.

次いで、図5A,5B,5Cのシーケンスフローを参照して、ワーカデバイス10上でプログラムコード31を実行する手順について説明する。 Next, the procedure for executing program code 31 on the worker device 10 will be described with reference to the sequence flows in Figures 5A, 5B, and 5C.

初めに図5Aを参照し、時刻t1においてユーザがワーカデバイス10を操作することでWebブラウザ11の起動及び管理サーバ20への接続の操作を行うと、時刻t2においてWebブラウザ11が起動される。 First, referring to FIG. 5A, at time t1, a user operates the worker device 10 to start the web browser 11 and connect to the management server 20, and the web browser 11 is started at time t2.

時刻t3においてWebブラウザ11が管理サーバ20のWebサーバ機能21へ接続すると、時刻t4ではWebサーバ機能21がエージェント機能12をワーカデバイス10のWebブラウザ11へ送信する。エージェント機能12はWebブラウザの実行エンジン14(ファイル取得機能)を利用してワーカデバイス10にダウンロードされ、当該実行エンジン14に取り込まれる。 When the Web browser 11 connects to the Web server function 21 of the management server 20 at time t3, the Web server function 21 sends the agent function 12 to the Web browser 11 of the worker device 10 at time t4. The agent function 12 is downloaded to the worker device 10 using the execution engine 14 (file acquisition function) of the Web browser, and is imported into the execution engine 14.

時刻t5では、Webブラウザ11上でエージェント機能12が起動される。エージェント機能12は起動が完了すると、時刻t6,t7においてWebサーバ機能21を介して管理機能22へワーカデバイス10を分散処理を担うワーカデバイスの一つとして登録する。 At time t5, the agent function 12 is started on the web browser 11. When the agent function 12 has completed starting, at times t6 and t7, it registers the worker device 10 with the management function 22 via the web server function 21 as one of the worker devices responsible for distributed processing.

このように、本実施形態ではWebブラウザ11で管理サーバ20にアクセスすることでエージェント機能12がWebブラウザ内で起動し、同時に管理サーバ20に対してワーカデバイス10が登録されるため、管理サーバ20に対するデバイス情報登録などのユーザ操作が不要となる。 In this way, in this embodiment, by accessing the management server 20 with the web browser 11, the agent function 12 is started within the web browser, and at the same time, the worker device 10 is registered with the management server 20, eliminating the need for user operations such as registering device information with the management server 20.

これ以降、エージェント機能12は管理機能22へ対象ジョブの取得を定期的に要求する。本実施形態では、時刻t8においてエージェント機能12がサーバ機能21を介して管理機能22へ対象ジョブの取得を要求する。時刻t9では、Webサーバ機能21が当該要求に応答して対象ジョブの検索を管理機能22へ要求する。 After this, the agent function 12 periodically requests the management function 22 to obtain the target job. In this embodiment, at time t8, the agent function 12 requests the management function 22 to obtain the target job via the server function 21. At time t9, in response to the request, the web server function 21 requests the management function 22 to search for the target job.

時刻t10では、管理機能22が検索結果をWebサーバ機能21へ応答する。検索結果が「処理対象ジョブ無し」であれば、Webサーバ機能21は時刻t11においてエージェント機能12へその旨を通知して今回の定期処理を終了する。これ以降、所定の周期で時刻t8以降の処理が繰り返される。 At time t10, the management function 22 responds with the search results to the Web server function 21. If the search result is "no jobs to be processed," the Web server function 21 notifies the agent function 12 of this at time t11 and ends this periodic processing. After this, the processing from time t8 onwards is repeated at a predetermined cycle.

時刻t12において、前記検索結果が「処理対象ジョブ有り」である旨がエージェント機能12へ通知されると、時刻t13では、エージェント機能12がWebサーバ機能21に対して当該ジョブに対応するプログラムモジュール30を要求する。時刻t14ではWebサーバ機能21が当該要求に応答して、対応するプログラムモジュール30をWebブラウザ11へ送信する。プログラムモジュール30はワーカデバイス10にダウンロードされてWebブラウザ11に読み込まれる。 At time t12, when the agent function 12 is notified that the search result indicates that "a job to be processed is available," at time t13, the agent function 12 requests the Web server function 21 to send the program module 30 corresponding to the job. At time t14, in response to the request, the Web server function 21 transmits the corresponding program module 30 to the Web browser 11. The program module 30 is downloaded to the worker device 10 and loaded into the Web browser 11.

図5Bへ進み、時刻t15ではエージェント機能12がプログラムモジュール30に含まれるインタフェースコード32を抽出し、Webブラウザ11に対して呼び出しを行うことで起動する。時刻t16では、インタフェースコード32がサンドボックス実行環境13に対してプログラムコード31の起動を要求する。 Moving on to FIG. 5B, at time t15, the agent function 12 extracts the interface code 32 contained in the program module 30 and launches it by calling the web browser 11. At time t16, the interface code 32 requests the sandbox execution environment 13 to launch the program code 31.

時刻t17では、サンドボックス実行環境13が前記プログラムコード31を読み込んでインスタンス131を作成する。すなわち、サンドボックス実行環境13にメモリ領域132及びプログラムカウンタ133等の実行用リソース134が確保される。 At time t17, the sandbox execution environment 13 reads the program code 31 and creates an instance 131. That is, execution resources 134 such as a memory area 132 and a program counter 133 are secured in the sandbox execution environment 13.

時刻t18において、インタフェースコード32がプログラムコード31内の任意の起動用関数(ここではstart()関数)を呼び出すようにサンドボックス実行環境13へ要求すると、時刻t19においてstart()関数内の処理が実行される。時刻t20では、サンドボックス実行環境13からプログラムコード31の実行を可能とするために、インタフェースコード32の特定の外部関数を呼び出すことで外部の入出力機能へアクセスする。ここでは、外部関数の例としてデバイスのセンサ情報を取得するインタフェースコード32のsensor()関数を呼び出すフローを示す。 At time t18, when the interface code 32 requests the sandbox execution environment 13 to call any startup function (here, the start() function) in the program code 31, the processing in the start() function is executed at time t19. At time t20, in order to enable execution of the program code 31 from the sandbox execution environment 13, a specific external function of the interface code 32 is called to access external input/output functions. Here, as an example of an external function, a flow for calling the sensor() function of the interface code 32 to obtain sensor information of the device is shown.

時刻t20において、プログラムコード31内で外部関数sensor()が呼び出されると、時刻21において、サンドボックス実行環境13のAPIを介してインタフェースコード32の関数sensor()が呼び出される。関数sensor()にはワーカデバイス10の各種センサが出力する信号を取得するための処理等、入出力環境を提供するために必要な情報が記述されている。 When the external function sensor() is called in the program code 31 at time t20, the function sensor() in the interface code 32 is called via the API of the sandbox execution environment 13 at time t21. The function sensor() describes information necessary to provide an input/output environment, such as processing for acquiring signals output by various sensors of the worker device 10.

時刻t22では、インタフェースコード32がWebブラウザ11へセンサ情報を要求する。Webブラウザ11は、時刻t23においてワーカデバイス10のセンサからセンサ情報を取得すると、時刻t24においてインタフェースコード32へ応答する。 At time t22, the interface code 32 requests sensor information from the Web browser 11. When the Web browser 11 acquires sensor information from the sensor of the worker device 10 at time t23, it responds to the interface code 32 at time t24.

時刻t25では、インタフェースコード32がサンドボックス実行環境13へsensor()関数の返り値を返却する。時刻t26では、サンドボックス実行環境13がプログラムコード31へsensor()関数の返り値を返却する。時刻t27では、プログラムコード31に従って返り値が処理される。プログラムコード31の実行が完了すると、時刻t28において処理結果がサンドボックス実行環境13へ格納される。 At time t25, the interface code 32 returns the return value of the sensor() function to the sandbox execution environment 13. At time t26, the sandbox execution environment 13 returns the return value of the sensor() function to the program code 31. At time t27, the return value is processed according to the program code 31. When execution of the program code 31 is completed, the processing result is stored in the sandbox execution environment 13 at time t28.

このように、本実施形態によればジョブを分散処理するプログラムコード31が入出力機能にアクセスする際にインタフェースコード32を介するため、分散処理における入出力機能の実装を、プログラムコードを修正することなくインタフェースコード32を変更するだけで変更できる。更に、インタフェースコード32においてプログラムコード31に渡す、あるいはプログラムコード31から出力されるデータの検証、アクセス範囲の制御を行うことができる。 In this way, according to this embodiment, the program code 31 that processes jobs in a distributed manner accesses the input/output functions via the interface code 32, so the implementation of the input/output functions in distributed processing can be changed simply by changing the interface code 32 without modifying the program code. Furthermore, the interface code 32 can verify the data passed to the program code 31 or output from the program code 31, and control the access range.

以上のフローによってプログラムコード31は外部関数呼び出しを利用して外部の情報を処理に利用できる。 By using the above flow, program code 31 can use external function calls to access external information for processing.

図5Cへ進み、時刻t29,t30では、前記処理結果がインタフェースコード32によってエージェント機能12へ渡される。エージェント機能12は、時刻t31において処理結果をWebサーバ機能21へ渡す。時刻t32では、Webサーバ機能21が管理機能22へ処理結果を渡すことで分散処理が完了する。これにより管理機能22はワーカデバイス10で任意の分散処理ジョブを実行し、処理結果を受け取ることができる。 Moving on to FIG. 5C, at times t29 and t30, the processing result is passed to the agent function 12 by the interface code 32. At time t31, the agent function 12 passes the processing result to the Web server function 21. At time t32, the Web server function 21 passes the processing result to the management function 22, completing the distributed processing. This enables the management function 22 to execute any distributed processing job on the worker device 10 and receive the processing result.

図6は、ワーカデバイス(ウエアラブルデバイス)10cのユーザがジョブ依頼者として、3D映像の再生に係る3D処理を複数のワーカデバイス10へ依頼する例を模式的に示した図である。 Figure 6 is a schematic diagram showing an example in which a user of a worker device (wearable device) 10c, as a job requester, requests 3D processing related to the playback of 3D video images to multiple worker devices 10.

ジョブ依頼者は自身のウエアラブルデバイス10cから管理サーバ20へ前記プログラムモジュール30として、映像収集モジュール30a及び3D処理モジュール30bを登録する。 The job requester registers the image collection module 30a and the 3D processing module 30b as the program modules 30 from his/her wearable device 10c to the management server 20.

分散処理を希望する各ジョブ処理者は、自身のワーカデバイス10のWebブラウザを起動、操作して管理サーバ20へアクセスし、エージェント機能12を取得してWebブラウザ内で起動する。 Each job processor wishing to carry out distributed processing starts and operates the web browser on his/her own worker device 10 to access the management server 20, obtains the agent function 12, and starts it within the web browser.

各エージェント機能12は管理サーバ20から対応する3D処理モジュール30bを取得し、プログラムコード31をサンドボックス実行環境において処理する。処理結果は管理サーバ20経由で依頼元のウエアラブルデバイス10cへ提供されて3D映像の再生に供される。 Each agent function 12 obtains the corresponding 3D processing module 30b from the management server 20 and processes the program code 31 in the sandbox execution environment. The processing results are provided to the requesting wearable device 10c via the management server 20 and used to play the 3D video.

本実施形態によれば、ジョブ依頼者は処理能力が3D映像処理には不十分なウエアラブルデバイス10cを用いて、低遅延かつ広帯域の3D映像再生を実現できるようになる。 According to this embodiment, a job requester can achieve low-latency, wideband 3D video playback using a wearable device 10c whose processing power is insufficient for 3D video processing.

図7は、交通量や天気をカメラ画像に基づいて予測するモデルを機械学習するジョブを複数のワーカデバイス10で分散処理する例を模式的に示した図である。ここではプログラムモジュール30として映像収集モジュール30c,画像処理モジュール30d及び機械学習モジュール30eが管理サーバ20に登録済みであるものとして説明する。 Figure 7 is a schematic diagram showing an example of distributed processing by multiple worker devices 10 of a job for machine learning a model for predicting traffic volume and weather based on camera images. Here, the explanation is given assuming that the program modules 30, which are the video collection module 30c, the image processing module 30d, and the machine learning module 30e, have already been registered in the management server 20.

分散処理を希望する各ジョブ処理者は自身のワーカデバイス10のWebブラウザを起動して操作し、管理サーバ20からエージェント機能12を取得してWebブラウザ内で起動する。エージェント機能12は管理サーバ20から対応するプログラムモジュール30を取得し、そのプログラムコード31を実行させることで処理結果を得る。 Each job processor wishing to carry out distributed processing starts and operates a web browser on his/her own worker device 10, obtains an agent function 12 from the management server 20, and starts it within the web browser. The agent function 12 obtains the corresponding program module 30 from the management server 20, and executes the program code 31 to obtain the processing results.

映像収集モジュール30cを取得したワーカデバイス10は、自身のセンサ情報(ここでは、カメラ機能)を用いて撮影した映像を収集し、これを分散処理の結果として出力する。画像処理モジュール30dを取得したワーカデバイス10は、映像の処理結果から特徴量抽出等の画像処理を実施して処理結果を出力する。 The worker device 10 that has acquired the video collection module 30c collects captured video using its own sensor information (here, the camera function) and outputs this as the result of distributed processing. The worker device 10 that has acquired the image processing module 30d performs image processing such as feature extraction from the video processing results and outputs the processing results.

機械学習モジュール30eを取得したワーカデバイス10は、前記画像処理の結果を複数のワーカデバイス10から取得して機械学習を行い、カメラ映像から交通量や天気を予測するモデルを構築する。予測モデルはジョブ依頼者へ提供される。 The worker device 10 that has acquired the machine learning module 30e acquires the results of the image processing from multiple worker devices 10, performs machine learning, and constructs a model that predicts traffic volume and weather from camera images. The prediction model is provided to the job requester.

本実施形態によれば、多数の視点で撮影したカメラ映像に基づいて予測モデルを構築するジョブにおいて、カメラ映像の収集やその画像処理を複数のワーカデバイス10に分散処理させることができる。したがって、一般的に処理負荷の高い機械学習を低遅延及び負荷分散の環境下で実施できるようになる。 According to this embodiment, in a job for constructing a predictive model based on camera images captured from multiple viewpoints, the collection of camera images and their image processing can be distributed to multiple worker devices 10. Therefore, machine learning, which generally involves a high processing load, can be performed in an environment with low latency and load distribution.

そして、上記の実施形態によれば複数のワーカデバイスに低遅延かつ広帯域のモバイル通信環境下でジョブを分散処理させることが可能になるので、地理的あるいは経済的な格差を超えて多くの人々に多様なサービスを提供できるようになる。その結果、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、包括的で持続可能な産業化を推進する」や目標11「都市を包摂的、安全、レジリエントかつ持続可能にする」に貢献することが可能となる。 The above embodiment enables distributed processing of jobs across multiple worker devices in a low-latency, broadband mobile communication environment, making it possible to provide a wide range of services to many people regardless of geographic or economic disparities. As a result, it will be possible to contribute to Goal 9 "Build resilient infrastructure and promote inclusive and sustainable industrialization" and Goal 11 "Make cities inclusive, safe, resilient and sustainable" of the United Nations-led Sustainable Development Goals (SDGs).

1…エッジサーバ,10(10a,10b,10c,10d)…ワーカデバイス,11…Webブラウザ,12…エージェント機能,13…サンドボックス実行環境,14…実行エンジン,20…管理サーバ,21…Webサーバ機能,22…管理機能,30(30a,30b,30c,30d,30e)…プログラムモジュール,31(31a,31b)…プログラムコード,32(32a,32b)…インタフェースコード,131…インスタンス,132…メモリ領域,133…プログラムカウンタ,134…実行用リソース 1... Edge server, 10 (10a, 10b, 10c, 10d)... Worker device, 11... Web browser, 12... Agent function, 13... Sandbox execution environment, 14... Execution engine, 20... Management server, 21... Web server function, 22... Management function, 30 (30a, 30b, 30c, 30d, 30e)... Program module, 31 (31a, 31b)... Program code, 32 (32a, 32b)... Interface code, 131... Instance, 132... Memory area, 133... Program counter, 134... Execution resource

Claims (8)

Webブラウザを実装した複数のワーカデバイスが管理サーバと連携してジョブを分散処理する分散コンピューティング制御システムにおいて、
前記ワーカデバイスが、
Webブラウザで管理サーバへアクセスしてエージェント機能を取得する手段と、
Webブラウザを実行基盤として前記エージェント機能を起動する手段と、
エージェント機能に管理サーバから分散処理プログラムを取得させる手段と、
Webブラウザを実行基盤として前記分散処理プログラムを起動する手段と、
分散処理の結果を管理サーバへ応答する手段とを具備し
前記分散処理プログラムがWebブラウザのサンドボックス実行環境において起動され、
前記分散処理プログラムがプログラムコード及び当該プログラムコードに対してインタフェースを提供するインタフェースコードを含むプログラムモジュールであり、
前記プログラムコードは前記サンドボックス実行環境で起動され、
前記インタフェースコードは前記プログラムコードに対してWebブラウザ及びエージェント機能へのインタフェースを提供することを特徴とする分散コンピューティング制御システム。
In a distributed computing control system in which multiple worker devices each equipped with a web browser work together with a management server to perform distributed job processing,
The worker device,
A means to access the management server via a web browser and obtain agent functions;
A means for activating the agent function using a web browser as an execution platform;
A means for causing the agent function to acquire a distributed processing program from a management server;
A means for launching the distributed processing program using a web browser as an execution platform;
a means for responding to the management server with a result of the distributed processing ;
The distributed processing program is started in a sandbox execution environment of a web browser,
the distributed processing program is a program module including a program code and an interface code that provides an interface to the program code,
the program code is launched in the sandbox execution environment;
The interface code provides the program code with an interface to a web browser and agent functions .
前記エージェント機能はWebブラウザが備える実行エンジンを利用してインタフェースコードを起動することを特徴とする請求項に記載の分散コンピューティング制御システム。 2. The distributed computing control system according to claim 1 , wherein said agent function executes the interface code by utilizing an execution engine provided in a Web browser. 前記エージェント機能は、Webブラウザが備える実行エンジンを利用して管理サーバから分散処理プログラムを取得することを特徴とする請求項1または2に記載の分散コンピューティング制御システム。 3. The distributed computing control system according to claim 1 , wherein said agent function acquires a distributed processing program from a management server by utilizing an execution engine provided in a Web browser. 前記プログラムコードが前記サンドボックス実行環境で実行可能な命令セットによって記述されたことを特徴とする請求項1ないし3のいずれかに記載の分散コンピューティング制御システム。 4. The distributed computing control system according to claim 1, wherein the program code is written using an instruction set that is executable in the sandbox execution environment. 前記エージェント機能が各ワーカデバイスのWebブラウザへWeb標準として採用された言語で実装されることを特徴とする請求項1ないしのいずれかに記載の分散コンピューティング制御システム。 5. The distributed computing control system according to claim 1 , wherein the agent function is implemented in a web browser of each worker device in a language adopted as a web standard . 前記エージェント機能は、Webブラウザ内での起動後に管理サーバに対して自身のワーカデバイスを登録することを特徴とする請求項1ないしのいずれかに記載の分散コンピューティング制御システム。 6. The distributed computing control system according to claim 1 , wherein said agent function registers its own worker device in a management server after being started in a Web browser. Webブラウザを実装した複数のワーカデバイスが管理サーバと連携してジョブを分散処理する分散コンピューティング制御方法において、
ワーカデバイスがWebブラウザで管理サーバへアクセスしてエージェント機能を取得し、
ワーカデバイスのWebブラウザを実行基盤として前記エージェント機能を起動し、
エージェント機能が管理サーバから分散処理プログラムを取得し、
Webブラウザを実行基盤として前記分散処理プログラムを起動し、
分散処理の結果を管理サーバへ応答し
前記分散処理プログラムがWebブラウザのサンドボックス実行環境において起動され、
前記分散処理プログラムがプログラムコード及び当該プログラムコードに対してインタフェースを提供するインタフェースコードを含むプログラムモジュールであり、
前記プログラムコードは前記サンドボックス実行環境で起動され、
前記インタフェースコードは前記プログラムコードに対してWebブラウザ及びエージェント機能へのインタフェースを提供することを特徴とする分散コンピューティング制御方法。
A distributed computing control method in which a plurality of worker devices each having a web browser implemented therein cooperate with a management server to perform distributed processing of a job, comprising:
The worker device accesses the management server via a web browser to acquire the agent function,
The agent function is started using a web browser on the worker device as an execution platform,
The agent function obtains the distributed processing program from the management server,
The distributed processing program is started using a web browser as an execution platform;
The results of the distributed processing are returned to the management server .
The distributed processing program is started in a sandbox execution environment of a web browser,
the distributed processing program is a program module including a program code and an interface code that provides an interface to the program code,
the program code is launched in the sandbox execution environment;
The method for controlling distributed computing, wherein the interface code provides the program code with an interface to a web browser and an agent function .
Webブラウザを実装した複数のワーカデバイスが管理サーバと連携してジョブを分散処理する分散コンピューティング制御プログラムにおいて、
Webブラウザで管理サーバへアクセスしてエージェント機能を取得する手順と、
Webブラウザを実行基盤として前記エージェント機能を起動する手順と、
エージェント機能に管理サーバから分散処理プログラムを取得させる手順と、
Webブラウザを実行基盤として前記分散処理プログラムを起動する手順と、
分散処理の結果を管理サーバへ応答する手順と、をワーカデバイスに実行させ
前記分散処理プログラムがWebブラウザのサンドボックス実行環境において起動され、
前記分散処理プログラムがプログラムコード及び当該プログラムコードに対してインタフェースを提供するインタフェースコードを含むプログラムモジュールであり、
前記プログラムコードは前記サンドボックス実行環境で起動され、
前記インタフェースコードは前記プログラムコードに対してWebブラウザ及びエージェント機能へのインタフェースを提供することを特徴とする分散コンピューティング制御プログラム。
In a distributed computing control program in which a plurality of worker devices each having a web browser installed thereon cooperate with a management server to perform distributed processing of jobs,
How to access the management server using a web browser and obtain agent functions.
A step of starting the agent function using a web browser as an execution platform;
A procedure for causing an agent function to obtain a distributed processing program from a management server;
A step of launching the distributed processing program using a web browser as an execution platform;
a procedure for responding to the management server with a result of the distributed processing ;
The distributed processing program is started in a sandbox execution environment of a web browser,
the distributed processing program is a program module including a program code and an interface code that provides an interface to the program code,
the program code is launched in the sandbox execution environment;
The interface code provides an interface to a web browser and an agent function for the program code .
JP2022027206A 2022-02-24 2022-02-24 Distributed computing control system, method and program Active JP7603628B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022027206A JP7603628B2 (en) 2022-02-24 2022-02-24 Distributed computing control system, method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022027206A JP7603628B2 (en) 2022-02-24 2022-02-24 Distributed computing control system, method and program

Publications (2)

Publication Number Publication Date
JP2023123244A JP2023123244A (en) 2023-09-05
JP7603628B2 true JP7603628B2 (en) 2024-12-20

Family

ID=87885810

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022027206A Active JP7603628B2 (en) 2022-02-24 2022-02-24 Distributed computing control system, method and program

Country Status (1)

Country Link
JP (1) JP7603628B2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003022189A (en) 2001-07-06 2003-01-24 Mitsubishi Electric Corp Distributed network computing system
JP2006221382A (en) 2005-02-10 2006-08-24 Hitachi Ltd Computer resource management method for distributed processing system
JP2011170571A (en) 2010-02-18 2011-09-01 Nippon Telegr & Teleph Corp <Ntt> Distributed computing system, distribution and combination apparatus for distributed computing, and terminal device
JP2013003542A (en) 2011-06-21 2013-01-07 Konica Minolta Advanced Layers Inc Optical element assembly, optical element, production method of optical element assembly, and production method of optical element
JP2015534144A (en) 2012-08-16 2015-11-26 クアルコム,インコーポレイテッド Predictive resource prefetching through sandboxed execution

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003022189A (en) 2001-07-06 2003-01-24 Mitsubishi Electric Corp Distributed network computing system
JP2006221382A (en) 2005-02-10 2006-08-24 Hitachi Ltd Computer resource management method for distributed processing system
JP2011170571A (en) 2010-02-18 2011-09-01 Nippon Telegr & Teleph Corp <Ntt> Distributed computing system, distribution and combination apparatus for distributed computing, and terminal device
JP2013003542A (en) 2011-06-21 2013-01-07 Konica Minolta Advanced Layers Inc Optical element assembly, optical element, production method of optical element assembly, and production method of optical element
JP2015534144A (en) 2012-08-16 2015-11-26 クアルコム,インコーポレイテッド Predictive resource prefetching through sandboxed execution

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
中野 雄介 他,「Webアプリケーションユーザの利用を妨げないWebブラウザの余剰リソース活用手法」,電子情報通信学会論文誌,日本,社団法人電子情報通信学会,2011年05月01日,第VOL.J94-D巻,第5号,pp.780-790,[ISSN]1880-4535

Also Published As

Publication number Publication date
JP2023123244A (en) 2023-09-05

Similar Documents

Publication Publication Date Title
US8966508B2 (en) Method for executing hybrid web application and apparatus therefor
EP3011442B1 (en) Method and apparatus for customized software development kit (sdk) generation
KR102354717B1 (en) Code service for language-independent dispatch
CN111026396A (en) Page rendering method and device, electronic equipment and storage medium
KR101882383B1 (en) A container resource allocation device and method in virtual desktop infrastructure
US8843631B2 (en) Dynamic local function binding apparatus and method
JP2023524009A5 (en)
CN113641413A (en) Target model loading and updating method and apparatus, readable medium and electronic device
CN111143010A (en) Terminal device control method, terminal device, and storage medium
CN118051316A (en) Asynchronous task processing method, device and storage medium
CN114327710B (en) Function management method, management device, terminal equipment and readable storage medium
CN109445960B (en) Application routing method, device and storage medium
KR101907660B1 (en) Terminal apparatus having operating system based on web and method for providing service using thereof
JP7603628B2 (en) Distributed computing control system, method and program
JP2021535461A (en) Client application for running web applications
CN104980511A (en) Game data access method, game data access system and game web server
Tseng et al. Migratom. js: a JavaScript migration framework for distributed web computing and mobile devices
EP1993038B1 (en) Data processing system and data processing method
CN114500598A (en) Equipment access method, system and proxy service equipment
TWI581185B (en) Method and system for installing application
CN116442214B (en) A method, apparatus, device, and medium for parallel processing of tasks by a robot.
CN114726905B (en) Method, device, equipment and storage medium for accessing Tbox network into Android system
Zhang et al. A webpage offloading framework for smart devices
Kim et al. Study on requirements of cloud-based environments for easy development of ros modules
Shiraz et al. A distributed and elastic application processing model for mobile cloud computing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20241016

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20241016

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20241120

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20241210

R150 Certificate of patent or registration of utility model

Ref document number: 7603628

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150