JP2017182221A - Automatic load distribution information processing system - Google Patents

Automatic load distribution information processing system Download PDF

Info

Publication number
JP2017182221A
JP2017182221A JP2016064771A JP2016064771A JP2017182221A JP 2017182221 A JP2017182221 A JP 2017182221A JP 2016064771 A JP2016064771 A JP 2016064771A JP 2016064771 A JP2016064771 A JP 2016064771A JP 2017182221 A JP2017182221 A JP 2017182221A
Authority
JP
Japan
Prior art keywords
data processing
data
delegation
result
delegated
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
JP2016064771A
Other languages
Japanese (ja)
Other versions
JP6742777B2 (en
Inventor
巧一 柴田
Koichi Shibata
巧一 柴田
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.)
SKEED CO Ltd
Original Assignee
SKEED CO Ltd
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 SKEED CO Ltd filed Critical SKEED CO Ltd
Priority to JP2016064771A priority Critical patent/JP6742777B2/en
Publication of JP2017182221A publication Critical patent/JP2017182221A/en
Application granted granted Critical
Publication of JP6742777B2 publication Critical patent/JP6742777B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide means for realizing a high efficiency of the entire data processing performed by a plurality of data processors in a data processing system of a distributed processing system eliminating centralization of data processing.SOLUTION: A data processor 420 divides data processing delegated from a data processing delegation source device 401 into parent data processing F0, child data processing F1, and child data processing F2. The data processor 420 determines that one of data processors which can receive a delegation of the child data processing F1 and can use position dependent data D3 used in the child data processing F1 first that can finish the data processing at the minimum cost is a data processor to which the child data processing F1 is to be delegated. The data processor 420 delegates the child data processing F1 to the data processor 421. Recursively conducting similar delegations efficiently allocates the data processing to data processors.SELECTED DRAWING: Figure 4

Description

本発明は、複数のデータ処理装置を使って大量のデータを分散処理する技術に関し、より具体的には、当該分散処理における処理の分担を簡単に且つ効率良く決定する技術に関する。   The present invention relates to a technology for distributed processing of a large amount of data using a plurality of data processing devices, and more specifically to a technology for easily and efficiently determining the sharing of processing in the distributed processing.

今般、インターネットに代表される通信ネットワークが普及している。通信ネットワークには多数のセンサーが接続されている。それらのセンサーにより得られる多数のデータを収集、分析して、その結果を活用することが行われている。   Recently, communication networks represented by the Internet have become widespread. A number of sensors are connected to the communication network. Many data collected by these sensors are collected and analyzed, and the results are utilized.

多数のセンサーから多数のデータを収集しようとする場合、通常、センサーは計測等により生成したデータに対し処理を加えずに、データの収集元のデータ処理装置(以下、「中央データ処理装置」という)に送信する。中央データ処理装置は、センサーから送信されてくる未処理のデータに対する処理を集中的に行う。   When collecting a large number of data from a large number of sensors, the sensor normally does not process the data generated by measurement or the like, and the data processing device (hereinafter referred to as “central data processing device”) from which data is collected ). The central data processor centrally processes the unprocessed data transmitted from the sensor.

上記のように中央データ処理装置が集中的にデータの処理を行う方式(以下、「集中処理方式」という)には、多数のセンサーの構成を簡単にすることができる、という利点がある。一方、集中処理方式には、中央データ処理装置にデータ処理の負荷が集中する、という欠点がある。また、集中処理方式には、センサーにより生成されるデータが画像(静止画または動画)を表すデータのようにデータ量の大きいデータである場合、通信トラフィックの増大および集中を招く、という欠点もある。   As described above, the method in which the central data processing apparatus processes data intensively (hereinafter referred to as “centralized processing method”) has an advantage that the configuration of a large number of sensors can be simplified. On the other hand, the centralized processing method has a drawback that the data processing load is concentrated on the central data processing apparatus. In addition, the centralized processing method has a drawback in that when the data generated by the sensor is data having a large amount of data such as data representing an image (still image or moving image), communication traffic is increased and concentrated. .

上述した集中処理方式の欠点を解消する方式として、データ処理を複数のデータ処理装置に分散させる方式(以下、「分散処理方式」という)が実用化されている。図7は、広く採用されている分散処理方式におけるデータ処理装置の構成を模式的に示した図である。広く採用されている分散処理方式においては、1つの主データ処理装置201がデータ処理を分割し、複数の従データ処理装置(図7における従データ処理装置202〜205)に分割したデータ処理の割り当てを行う。この分散処理方式においては、データ処理が複数の従データ処理装置(図7における従データ処理装置202〜205)の各々により実行されるため、データ処理の負荷集中が生じない。   As a method for solving the above-described disadvantage of the centralized processing method, a method for distributing data processing to a plurality of data processing devices (hereinafter referred to as “distributed processing method”) has been put into practical use. FIG. 7 is a diagram schematically showing a configuration of a data processing apparatus in a widely adopted distributed processing method. In a widely used distributed processing system, one main data processing device 201 divides data processing and assigns data processing divided into a plurality of slave data processing devices (slave data processing devices 202 to 205 in FIG. 7). I do. In this distributed processing method, data processing is executed by each of a plurality of slave data processing devices (slave data processing devices 202 to 205 in FIG. 7), so that load concentration of data processing does not occur.

図7に示した構成の分散処理方式においては、主データ処理装置201がデータ処理の割り当てを集中管理する。すなわち、データ処理の内容、収集するデータや従データ処理装置の通信ネットワークにおける位置、従データ処理装置の稼働状況(データ処理の負荷等)等を主データ処理装置201が常に監視し、それらが変化する毎にデータ処理の割り当てを変更する。以下、図7に示した構成の分散処理方式を「中央管理型分散処理方式」という。中央管理型分散処理方式には、複数の従データ処理装置により行われるデータ処理を最適化しやすい、という利点がある。   In the distributed processing system having the configuration shown in FIG. 7, the main data processing device 201 centrally manages the allocation of data processing. That is, the main data processing device 201 constantly monitors the contents of data processing, the data to be collected, the position of the sub data processing device in the communication network, the operating status of the sub data processing device (data processing load, etc.), etc. Change the allocation of data processing every time. Hereinafter, the distributed processing method having the configuration shown in FIG. 7 is referred to as a “centrally managed distributed processing method”. The centrally managed distributed processing method has an advantage that it is easy to optimize data processing performed by a plurality of slave data processing devices.

一方、中央管理型分散処理方式には、データ処理の内容、収集するデータや従データ処理装置の通信ネットワークにおける位置、従データ処理装置の稼働状況(データ処理の負荷等)等が頻繁に変化する場合、データ処理の割り当てに伴うデータ処理が複雑となり、主データ処理装置201に高いデータ処理能力が求められる、という欠点がある。すなわち、データの所在数や従データ処理装置の数等の増加し、データ処理の割り当て管理に要するデータ処理の負荷が主データ処理装置201のデータ処理能力を超えると、システム全体が機能不全に陥る。また、主データ処理装置201と通信ネットワークとの間のデータ通信に不具合が生じた場合も、システム全体が機能不全に陥る。   On the other hand, in the centrally managed distributed processing method, the contents of data processing, the data to be collected, the position of the slave data processing device in the communication network, the operating status of the slave data processing device (data processing load, etc.), etc. frequently change. In this case, there is a disadvantage that the data processing accompanying the data processing allocation becomes complicated, and the main data processing device 201 is required to have high data processing capability. That is, if the number of data locations, the number of subordinate data processing devices, etc. increase, and the data processing load required for data processing allocation management exceeds the data processing capability of the main data processing device 201, the entire system will malfunction. . In addition, when a problem occurs in data communication between the main data processing device 201 and the communication network, the entire system also malfunctions.

上記の中央管理型分散処理方式の欠点、すなわち、主データ処理装置201におけるデータ処理の割り当て管理の負荷を軽減する方法を提案する特許文献として、例えば特許文献1がある。特許文献1には、データ処理の割り当て管理を行う主データ処理装置を設けず、データ処理の依頼元のデータ処理装置が通信ネットワークにおける周囲のデータ処理装置に対しデータ処理の依頼をブロードキャストすることにより、データ処理を分担するデータ処理装置を決定する方式が提案されている。   For example, Patent Literature 1 proposes a method for reducing the above-mentioned drawback of the centrally managed distributed processing method, that is, a method for reducing the load of data processing allocation management in the main data processing apparatus 201. Patent Document 1 does not include a main data processing device that manages allocation of data processing, but a data processing request source data processing device broadcasts a data processing request to surrounding data processing devices in a communication network. A method for determining a data processing apparatus that shares data processing has been proposed.

特開平10−74146号公報JP-A-10-74146

特許文献1に記載の方式によれば、データ処理の分担が簡易に決定される。しかしながら、特許文献1に記載の方式においては、データ処理全体の効率化が図られない。すなわち、特許文献1に記載の方式においては、必ずしもデータ処理に要するコスト(時間、データトラフィック、データ処理装置における処理負荷、データ通信料金等)が小さいデータ処理装置がデータ処理を分担するとは限らない。なお、本願において、データ処理に要するコストとは、データ処理に要する時間またはリソースの占有量を意味する。例えば、通信ネットワークの通信帯域やデータ処理装置におけるデータ処理能力はデータ処理に要するリソースの例であり、データ処理に要するデータトラフィック、データ処理装置の処理負荷等はデータ処理に要するコストの例である。   According to the method described in Patent Document 1, the sharing of data processing is easily determined. However, in the method described in Patent Document 1, the efficiency of the entire data processing cannot be achieved. That is, in the method described in Patent Document 1, a data processing device with a small cost (time, data traffic, processing load on the data processing device, data communication fee, etc.) required for data processing does not always share the data processing. . In the present application, the cost required for data processing means the time required for data processing or the amount of resources occupied. For example, the communication bandwidth of the communication network and the data processing capability of the data processing device are examples of resources required for data processing, and the data traffic required for data processing, the processing load of the data processing device are examples of costs required for data processing. .

上記の事情に鑑み、本発明は、データ処理の集中を排した分散処理方式のデータ処理システムにおいて、複数のデータ処理装置により行われるデータ処理全体の効率化を実現する手段を提供することを目的とする。   SUMMARY OF THE INVENTION In view of the above circumstances, an object of the present invention is to provide means for realizing the efficiency of the entire data processing performed by a plurality of data processing devices in a distributed processing type data processing system that eliminates the concentration of data processing. And

本発明は、通信ネットワークに接続された自装置を含む複数のデータ処理装置の各々に関し、当該データ処理装置が受任可能なデータ処理の種類と、当該データ処理装置が利用可能なデータの種類と、当該データ処理装置が受任可能なデータ処理の種類の各々に関し当該種類のデータ処理に要するコストとを示すパフォーマンスデータを記憶する記憶手段と、1以上の種類のデータ処理を実行可能な処理手段と、データ処理の委任元のデータ処理装置からデータ処理の委任を示す委任データを受信する受信手段と、前記受信手段が受信した委任データにより委任されるデータ処理を複数のデータ処理に分割する分割手段と、前記分割手段が分割した複数のデータ処理の各々に関し、前記パフォーマンスデータに基づき、当該データ処理を自装置で実行するか自装置以外のデータ処理装置に委任するかを決定し、当該データ処理を他のデータ処理装置に委任すると決定した場合、当該データ処理の委任先のデータ処理装置を決定する決定手段と、前記決定手段が自装置以外のデータ処理装置に委任すると決定したデータ処理に関し、当該データ処理の委任を示す委任データを、前記決定手段が決定した委任先のデータ処理装置に送信する送信手段とを備え、前記処理手段は、前記決定手段が自装置で実行すると決定したデータ処理を実行し、前記受信手段は、前記送信手段が送信した委任データに対する応答として委任先のデータ処理装置から送信されてくるデータ処理の結果を示す結果データを受信し、前記送信手段は、前記受信手段が受信した委任データに対する応答として、前記処理手段が実行したデータ処理の結果を示す結果データおよび前記受信手段が委任先のデータ処理装置から受信した結果データの少なくとも一方を、委任元のデータ処理装置に送信するデータ処理装置を第1の態様として提案する。   The present invention relates to each of a plurality of data processing devices including its own device connected to a communication network, the type of data processing that can be accepted by the data processing device, the type of data that can be used by the data processing device, Storage means for storing performance data indicating the cost required for the type of data processing for each type of data processing that can be accepted by the data processing apparatus; and processing means capable of executing one or more types of data processing; Receiving means for receiving delegation data indicating delegation of data processing from a data processing apparatus that is a delegation source of data processing; and dividing means for dividing data processing delegated by the delegation data received by the receiving means into a plurality of data processes; For each of the plurality of data processes divided by the dividing unit, the data processing is performed on the basis of the performance data. Deciding means for deciding whether to perform data processing on the data processing device other than its own device and deciding to delegate the data processing to another data processing device And transmission means for transmitting delegation data indicating delegation of the data processing to the data processing apparatus of the delegation destination decided by the decision means with respect to data processing decided to be delegated to a data processing apparatus other than the own apparatus The processing means executes data processing determined to be executed by the determining means in its own device, and the receiving means transmits from the delegation destination data processing apparatus as a response to the delegation data transmitted by the transmitting means. Receiving the result data indicating the result of the received data processing, and the sending means sends a response as a response to the delegation data received by the receiving means. A data processing apparatus that transmits at least one of result data indicating a result of data processing executed by the processing means and result data received by the receiving means from the data processing apparatus that is the delegation destination to the data processing apparatus that is the delegation source. Proposed as an aspect.

また、上記の第1の態様において、前記処理手段がデータ処理に要したコストに基づき、前記記憶手段に記憶されている自装置に関する前記パフォーマンスデータを変更し、前記送信手段が委任先のデータ処理装置に委任データを送信した後に当該委任データに対する応答として前記受信手段が結果データを受信するまでに前記通信ネットワーク及び前記複数のデータ処理装置の少なくとも1つが要したコストに基づき、前記記憶手段に記憶されている当該委任先のデータ処理装置に関する前記パフォーマンスデータを変更する変更手段を備える、という構成を第2の態様として提案する。   Further, in the first aspect, based on the cost required for the data processing by the processing means, the performance data relating to the own device stored in the storage means is changed, and the transmission means performs data processing of the delegation destination. Based on the cost required by at least one of the communication network and the plurality of data processing devices until the receiving unit receives the result data as a response to the delegation data after transmitting the delegation data to the device, the data is stored in the storage unit Proposed as a second aspect is a configuration comprising changing means for changing the performance data related to the data processing apparatus of the delegation destination.

また、上記の第1または第2の態様において、前記決定手段は、或る種類のデータ処理に関し、前記パフォーマンスデータに基づき、当該或る種類のデータ処理が受任可能であるか否かが不明なデータ処理装置の有無を判定し、当該或る種類のデータ処理が受任可能であるか否かが不明なデータ処理装置が有る場合、当該或る種類のデータ処理が受任可能であるか否かが不明なデータ処理装置を当該或る種類のデータ処理の委任先のデータ処理装置として決定する、という構成を第3の態様として提案する。   Further, in the first or second aspect, the determination unit is not sure whether the certain type of data processing is acceptable based on the performance data regarding the certain type of data processing. If there is a data processing device that determines the presence or absence of a data processing device and is uncertain whether or not the certain type of data processing is acceptable, whether or not the certain type of data processing is acceptable A configuration in which an unknown data processing device is determined as a data processing device to which a certain type of data processing is delegated is proposed as a third aspect.

また、上記の第1乃至第3のいずれかの態様において、前記受信手段は、前記通信ネットワークを介してデータ通信が可能なデータ処理装置の各々から、当該データ処理装置が前記通信ネットワークを介して通信が可能なデータ処理装置の各々に関する前記パフォーマンスデータを受信し、前記記憶手段は、前記受信手段が受信した前記パフォーマンスデータを記憶する、という構成を第4の態様として提案する。   Further, in any one of the first to third aspects, the receiving unit receives data from each of the data processing devices capable of data communication via the communication network via the communication network. A configuration in which the performance data relating to each of the data processing apparatuses capable of communication is received and the storage unit stores the performance data received by the reception unit is proposed as a fourth aspect.

また、本発明は、通信ネットワークに接続された複数のデータ処理装置の各々が、自装置を含む前記複数のデータ処理装置の各々に関し、当該データ処理装置が受任可能なデータ処理の種類と、当該データ処理装置が利用可能なデータの種類と、当該データ処理装置が受任可能なデータ処理の種類の各々に関し当該種類のデータ処理に要するコストとを示すパフォーマンスデータを記憶するステップと、前記複数のデータ処理装置の中のいずれかのデータ処理装置が、データ処理の委任元の装置からデータ処理の委任を示す委任データを受信するステップと、前記委任データを受信したデータ処理装置が、前記委任データにより委任されるデータ処理を複数のデータ処理に分割するステップと、前記委任データを受信したデータ処理装置が、前記分割するステップにおいて分割した複数のデータ処理の各々に関し、前記記憶するステップにおいて記憶している前記パフォーマンスデータに基づき、当該データ処理を自装置で実行するか自装置以外のデータ処理装置に委任するかを決定し、当該データ処理を他のデータ処理装置に委任すると決定した場合、当該データ処理の委任先のデータ処理装置を決定するステップと、前記決定するステップにおいて自装置で実行すると決定したデータ処理が有れば当該データ処理を実行するステップと、前記決定するステップにおいて自装置以外のデータ処理装置に委任すると決定したデータ処理が有れば当該データ処理の委任を示す委任データを決定した委任先のデータ処理装置に送信するステップと、前記委任データを送信するステップにおいて送信した委任データに対する応答として委任先のデータ処理装置から送信されてくるデータ処理の結果を示す結果データを受信するステップと、前記委任データを受信するステップにおいて受信した委任データに対する応答として、前記実行するステップにおいて実行したデータ処理の結果を示す結果データおよび前記結果データを受信するステップにおいて委任先のデータ処理装置から受信した結果データの少なくとも一方を、前記委任元の装置に送信するステップとを備えるデータ処理方法を第5の態様として提案する。   Further, the present invention relates to each of the plurality of data processing devices, each of which includes the own device, each of the plurality of data processing devices connected to the communication network, and the types of data processing that can be accepted by the data processing device, Storing performance data indicating the types of data that can be used by the data processing device and the cost of data processing of that type for each type of data processing that can be accepted by the data processing device; and the plurality of data Any one of the processing devices receives the delegation data indicating the delegation of data processing from the delegation source device, and the data processing device that has received the delegation data uses the delegation data Dividing the delegated data processing into a plurality of data processing, and the data processing apparatus receiving the delegated data, For each of the plurality of data processes divided in the dividing step, the data processing is executed by the own apparatus or delegated to a data processing apparatus other than the own apparatus based on the performance data stored in the storing step. If the data processing is determined to be delegated to another data processing device, the data processing device to which the data processing is delegated is determined, and the data determined to be executed by the own device in the determining step If there is a process, the step of executing the data processing, and the delegation that determines the delegation data indicating the delegation of the data processing if there is a data process determined to be delegated to a data processing apparatus other than the own apparatus in the determining step Transmitting to the previous data processing device and transmitting the delegation data; As a response to the delegation data received in the step of receiving result data indicating the result of the data processing transmitted from the data processing device of the delegation destination as a response to the delegation data transmitted in the step of receiving the delegation data, Transmitting at least one of the result data indicating the result of the data processing executed in the executing step and the result data received from the delegation destination data processing device in the step of receiving the result data to the delegation source device; A data processing method provided is proposed as a fifth aspect.

また、本発明は、通信ネットワークを介して他の装置との間でデータ通信を行う通信手段を備えるコンピュータに、自装置および前記通信ネットワークに接続された複数のデータ処理装置の各々に関し、当該装置が受任可能なデータ処理の種類と、当該装置が利用可能なデータの種類と、当該装置が受任可能なデータ処理の種類の各々に関し当該種類のデータ処理に要するコストとを示すパフォーマンスデータを記憶する処理と、データ処理の委任元の装置からデータ処理の委任を示す委任データを受信する処理と、前記委任データにより委任されるデータ処理を複数のデータ処理に分割する処理と、前記分割する処理において分割した複数のデータ処理の各々に関し、前記パフォーマンスデータに基づき、当該データ処理を自装置で実行するか前記複数のデータ処理装置のいずれかに委任するかを決定し、当該データ処理を前記複数のデータ処理装置のいずれかに委任すると決定した場合、当該データ処理の委任先のデータ処理装置を決定する処理と、前記決定する処理において自装置で実行すると決定したデータ処理が有れば当該データ処理を実行する処理と、前記決定する処理において前記複数のデータ処理装置のいずれかに委任すると決定したデータ処理が有れば当該データ処理の委任を示す委任データを前記決定する処理において決定した委任先のデータ処理装置に送信する処理と、前記委任データを送信する処理において送信した委任データに対する応答として委任先のデータ処理装置から送信されてくるデータ処理の結果を示す結果データを受信する処理と、前記委任データを受信する処理において受信した委任データに対する応答として、前記実行する処理において実行したデータ処理の結果を示す結果データおよび前記結果データを受信する処理において委任先のデータ処理装置から受信した結果データの少なくとも一方を、前記委任元の装置に送信する処理とを実行させるためのプログラムを第6の態様として提案する。   The present invention also relates to a computer including a communication unit that performs data communication with another device via a communication network, the device itself and each of a plurality of data processing devices connected to the communication network. Stores performance data indicating the type of data processing that can be accepted by the device, the type of data that can be used by the device, and the cost required for the type of data processing for each type of data processing that the device can accept In processing, processing for receiving delegation data indicating delegation of data processing from a device that is a delegation source of data processing, processing for dividing data processing delegated by the delegation data into a plurality of data processing, and in the division processing For each of the plurality of divided data processes, the data process is executed by the own device based on the performance data. Determining whether to delegate to one of the plurality of data processing devices, and when determining to delegate the data processing to one of the plurality of data processing devices, determines a data processing device to which the data processing is delegated And, if there is a data process that is determined to be executed by the own apparatus in the process to be determined, the process to execute the data process is determined to be delegated to any of the plurality of data processing apparatuses in the process to be determined If there is data processing, as a response to the delegation data transmitted in the process of transmitting the delegation data, the process of transmitting delegation data indicating the delegation of the data process to the data processing apparatus of the delegation destination determined in the determination process A process of receiving result data indicating a result of data processing transmitted from the data processing apparatus of the delegation destination; As a response to the delegation data received in the process of receiving data, the result data indicating the result of the data process executed in the process to be executed and the result data received from the delegation destination data processing apparatus in the process of receiving the result data A program for causing at least one of the processes to be transmitted to the delegation source device to be executed is proposed as a sixth aspect.

また、本発明は、通信ネットワークを介して他の装置との間でデータ通信を行う通信手段を備えるコンピュータに、自装置および前記通信ネットワークに接続された複数のデータ処理装置の各々に関し、当該装置が受任可能なデータ処理の種類と、当該装置が利用可能なデータの種類と、当該装置が受任可能なデータ処理の種類の各々に関し当該種類のデータ処理に要するコストとを示すパフォーマンスデータを記憶する処理と、データ処理の委任元の装置からデータ処理の委任を示す委任データを受信する処理と、前記委任データにより委任されるデータ処理を複数のデータ処理に分割する処理と、前記分割する処理において分割した複数のデータ処理の各々に関し、前記パフォーマンスデータに基づき、当該データ処理を自装置で実行するか前記複数のデータ処理装置のいずれかに委任するかを決定し、当該データ処理を前記複数のデータ処理装置のいずれかに委任すると決定した場合、当該データ処理の委任先のデータ処理装置を決定する処理と、前記決定する処理において自装置で実行すると決定したデータ処理が有れば当該データ処理を実行する処理と、前記決定する処理において前記複数のデータ処理装置のいずれかに委任すると決定したデータ処理が有れば当該データ処理の委任を示す委任データを前記決定する処理において決定した委任先のデータ処理装置に送信する処理と、前記委任データを送信する処理において送信した委任データに対する応答として委任先のデータ処理装置から送信されてくるデータ処理の結果を示す結果データを受信する処理と、前記委任データを受信する処理において受信した委任データに対する応答として、前記実行する処理において実行したデータ処理の結果を示す結果データおよび前記結果データを受信する処理において委任先のデータ処理装置から受信した結果データの少なくとも一方を、前記委任元の装置に送信する処理とを実行させるためのプログラムを前記コンピュータにより読み取り可能かつ持続的に記憶する記録媒体を第7の態様として提案する。   The present invention also relates to a computer including a communication unit that performs data communication with another device via a communication network, the device itself and each of a plurality of data processing devices connected to the communication network. Stores performance data indicating the type of data processing that can be accepted by the device, the type of data that can be used by the device, and the cost required for the type of data processing for each type of data processing that the device can accept In processing, processing for receiving delegation data indicating delegation of data processing from a device that is a delegation source of data processing, processing for dividing data processing delegated by the delegation data into a plurality of data processing, and in the division processing For each of the plurality of divided data processes, the data process is executed by the own device based on the performance data. Determining whether to delegate to one of the plurality of data processing devices, and when determining to delegate the data processing to one of the plurality of data processing devices, determines a data processing device to which the data processing is delegated And, if there is a data process that is determined to be executed by the own apparatus in the process to be determined, the process to execute the data process is determined to be delegated to any of the plurality of data processing apparatuses in the process to be determined If there is data processing, as a response to the delegation data transmitted in the process of transmitting the delegation data, the process of transmitting delegation data indicating the delegation of the data process to the data processing apparatus of the delegation destination determined in the determination process A process of receiving result data indicating a result of data processing transmitted from the data processing apparatus of the delegation destination; As a response to the delegation data received in the process of receiving data, the result data indicating the result of the data process executed in the process to be executed and the result data received from the delegation destination data processing apparatus in the process of receiving the result data A seventh aspect of the present invention proposes a recording medium in which a program for executing at least one of the processes for transmitting to the delegation source apparatus is continuously read by the computer.

本発明によれば、委任されたデータ処理が複数のデータ処理に分解され、複数のデータ処理装置の各々により分担されて実行される。その際、データ処理を委任されたデータ処理装置は、委任されたデータ処理に要するデータを利用可能であり、かつ、委任された種類のデータ処理をより低コストで実行できると推定されるデータ処理装置へ委任されたデータ処理の全てまたは一部を委任することができる。その結果、データ処理の分担を集中管理するデータ処理装置を要することなく、データ処理が複数のデータ処理装置により分散して実行されるとともに、データ処理全体の効率化が図られる。   According to the present invention, the delegated data processing is decomposed into a plurality of data processing, and is shared and executed by each of the plurality of data processing devices. At that time, the data processing device delegated to the data processing can use the data required for the delegated data processing, and the data processing is estimated to be able to execute the delegated type of data processing at a lower cost. All or part of the data processing delegated to the device can be delegated. As a result, the data processing is distributed and executed by a plurality of data processing devices without requiring a data processing device for centrally managing the sharing of data processing, and the efficiency of the entire data processing is improved.

一実施形態にかかるデータ処理システムの構成の一例を示した図である。It is a figure showing an example of composition of a data processing system concerning one embodiment. 一実施形態にかかるデータ処理システムを構成するデータ処理装置の機能構成を示した図である。It is the figure which showed the function structure of the data processing apparatus which comprises the data processing system concerning one Embodiment. 一実施形態にかかるデータ処理装置において用いられるパフォーマンスデータの構成を例示した図である。It is the figure which illustrated the composition of the performance data used in the data processor concerning one embodiment. 一実施形態にかかるデータ処理装置がデータ処理を実行すべきデータ処理装置を決定する方法を説明するための図である。It is a figure for demonstrating the method for determining the data processing apparatus which the data processing apparatus concerning one Embodiment should perform a data process. 一実施形態にかかるデータ処理装置がデータ処理を実行すべきデータ処理装置を決定する方法を説明するための図である。It is a figure for demonstrating the method for determining the data processing apparatus which the data processing apparatus concerning one Embodiment should perform a data process. 一実施形態にかかるデータ処理装置がデータ処理を実行すべきデータ処理装置を決定するための処理フローを例示した図である。It is the figure which illustrated the processing flow for the data processing apparatus concerning one Embodiment to determine the data processing apparatus which should perform a data process. 一実施形態にかかるデータ処理装置がデータ処理を実行すべきデータ処理装置を決定するための処理フローを例示した図である。It is the figure which illustrated the processing flow for the data processing apparatus concerning one Embodiment to determine the data processing apparatus which should perform a data process. 従来技術にかかる分散処理方式におけるデータ処理装置の構成を模式的に示した図である。It is the figure which showed typically the structure of the data processing apparatus in the distributed processing system concerning a prior art.

[実施形態]
以下に、本発明の一実施形態に係るデータ処理システム1を説明する。データ処理システム1は、通信ネットワークに接続された複数のデータ処理装置を備え、それらの複数のデータ処理装置のいずれかが委任元の装置から、取得される位置が限定されているデータ(以下、「位置依存データ」という)を用いたデータ処理の委任を受けた場合、当該委任されたデータ処理を複数のデータ処理装置で分担して実行する。データ処理システム1が備える複数のデータ処理装置は各々、自律的にデータ処理の分担を決定する。従って、データ処理システム1は、データ処理の分担を集中管理する仕組みを持たない。
[Embodiment]
Below, the data processing system 1 which concerns on one Embodiment of this invention is demonstrated. The data processing system 1 includes a plurality of data processing devices connected to a communication network, and any of the plurality of data processing devices is limited in data acquired from a delegation source device (hereinafter, referred to as “data acquisition system”). When the data processing using “position-dependent data” is delegated, the delegated data processing is executed by being shared by a plurality of data processing devices. Each of the plurality of data processing devices included in the data processing system 1 autonomously determines sharing of data processing. Therefore, the data processing system 1 does not have a mechanism for centrally managing the sharing of data processing.

図1は、データ処理システム1の構成の一例を示した図である。図1に例示のデータ処理システム1は、データ処理装置110、120、130、140、150、160の計6つのデータ処理装置を備える。データ処理システム1を構成するデータ処理装置の数は限定されない。また、データ処理システム1を構成するデータ処理装置は任意のタイミングでデータ処理システム1から離脱できる。また、新たなデータ処理装置が任意のタイミングでデータ処理システム1に参加できる。従って、データ処理システム1を構成するデータ処理装置の数は、通常、流動的に変化する。   FIG. 1 is a diagram showing an example of the configuration of the data processing system 1. The data processing system 1 illustrated in FIG. 1 includes a total of six data processing devices 110, 120, 130, 140, 150, and 160. The number of data processing devices constituting the data processing system 1 is not limited. In addition, the data processing devices constituting the data processing system 1 can be detached from the data processing system 1 at an arbitrary timing. In addition, a new data processing apparatus can participate in the data processing system 1 at an arbitrary timing. Therefore, the number of data processing devices constituting the data processing system 1 usually changes in a fluid manner.

データ処理システム1を構成する複数のデータ処理装置のいずれかが、データ処理の委任元の装置(例えば、エンドユーザが使用する端末装置等)から、位置依存データを用いたデータ処理の委任を受けると、委任を受け取ったデータ処理装置は、委任されたデータ処理を複数のデータ処理に分割し、分割した複数のデータ処理の各々に関し、そのデータ処理を自装置で処理すべきか、他のデータ処理装置に委任すべきか、また、他のデータ処理装置に委任すべきであればどのデータ処理装置に委任すべきか、を自装置および自装置以外のデータ処理装置のパフォーマンスに基づき決定する。ただし、本願において、データ処理装置のパフォーマンスとは、委任を受けることができるデータ処理の種類、委任を受けることができるデータ処理の種類の各々に応じたコストの大小を示す指標、および、利用可能な位置依存データの種類を意味する。   Any of a plurality of data processing devices constituting the data processing system 1 receives data processing delegation using position-dependent data from a data processing delegation source device (for example, a terminal device used by an end user). The data processing apparatus that has received the delegation divides the delegated data processing into a plurality of data processes, and regarding each of the divided plurality of data processes, whether the data processing should be processed by the own apparatus, or other data processing Based on the performance of the data processing apparatus other than the self apparatus and the data processing apparatus, it is determined whether the data should be delegated to the apparatus and which data processing apparatus should be delegated to another data processing apparatus. However, in this application, the performance of the data processing device is the type of data processing that can be delegated, an index that indicates the size of the cost according to each type of data processing that can be delegated, and available Type of position-dependent data.

データ処理の委任を受けたデータ処理装置は、自装置で処理すべきである、と決定したデータ処理を自装置で実行する。また、データ処理の委任を受けたデータ処理装置は、自装置以外のデータ処理装置へ委任すべきである、と決定したデータ処理を委任先として決定したデータ処理装置に委任する。データ処理の委任を行った場合、委任を行ったデータ処理装置は、委任先のデータ処理装置から、委任したデータ処理の結果を示す結果データを受信する。委任を行ったデータ処理装置は、自装置で実行したデータ処理の結果を示す結果データ、および委任先のデータ処理装置から受信した結果データの少なくとも一方を、委任元の装置へ送信する。   The data processing apparatus that has received the data processing delegation executes the data processing determined to be processed by the own apparatus by the own apparatus. In addition, the data processing device that has received the data processing delegation delegates the data processing determined to be delegated to a data processing device other than its own device to the data processing device that has been determined as the delegation destination. When the data processing is delegated, the data processing device that has delegated receives the result data indicating the result of the delegated data processing from the data processing device that has been delegated. The data processing apparatus that has performed the delegation transmits at least one of the result data indicating the result of the data processing performed by the self apparatus and the result data received from the delegation destination data processing apparatus to the delegation source apparatus.

上述した、委任元の装置からデータ処理の委任を受けたデータ処理装置が行う処理は、当該データ処理装置からデータ処理の委任を受けたデータ処理装置においても同様に実行される。データ処理システム1においては、委任元の装置または自装置以外のデータ処理装置からデータ処理の委任を受けると、委任されたデータ処理の分割と、分割したデータ処理の各々の自装置における実行または他のデータ処理装置への委任と、委任したデータ処理の結果を示す結果データの委任元の装置への送信とが再帰的に行われる。その結果、データ処理の分担を管理するデータ処理装置を要することなく、データ処理が全体として効率的に実行されるように、複数のデータ処理装置の間で分担される。   The above-described processing performed by the data processing device that has been delegated data processing from the delegation source device is similarly executed in the data processing device that has been delegated data processing by the data processing device. When the data processing system 1 receives data processing delegation from a delegation source device or a data processing device other than the own device, the data processing system 1 divides the delegated data processing and executes the divided data processing in each own device or the like. The delegation to the data processing apparatus and the transmission of the result data indicating the result of the delegated data processing to the delegation source apparatus are performed recursively. As a result, the data processing is shared among the plurality of data processing devices so that the data processing is efficiently executed as a whole without requiring a data processing device for managing the sharing of the data processing.

データ処理の委任を受けたデータ処理装置が分割した複数のデータ処理の各々を行うデータ処理装置を決定する際に用いられる各データ処理装置のパフォーマンスを示すデータ(以下、「パフォーマンスデータ」という)は、過去に実行されたデータ処理において要したコストおよび過去に実行されたデータ処理において利用された位置依存データの種類に基づき生成されたデータであり、各データ処理装置に記憶されている。各データ処理装置は、新たなデータ処理の実行、または新たなデータ処理の委任およびその結果の受領を行う毎に、そのデータ処理に要したコストに基づき、自装置に記憶しているパフォーマンスデータを更新する。従って、データ処理システム1は、通信ネットワークにおける通信状態の変化、データ処理システム1に参加しているデータ処理装置の増減、通信ネットワークやデータ処理装置における障害の発生等にも柔軟に対応し、効率的にデータ処理を行うことができる。   Data indicating the performance of each data processing device (hereinafter referred to as “performance data”) used when determining a data processing device that performs each of a plurality of data processing divided by the data processing device that has been entrusted with data processing. This is data generated based on the cost required in the data processing executed in the past and the type of position-dependent data used in the data processing executed in the past, and is stored in each data processing device. Each time a new data process is executed or a new data process is delegated and the result is received, each data processing apparatus stores the performance data stored in its own apparatus based on the cost required for the data process. Update. Therefore, the data processing system 1 can flexibly cope with changes in the communication state in the communication network, increase / decrease in the number of data processing devices participating in the data processing system 1, occurrence of failures in the communication network and data processing devices, and the like. Data processing can be performed.

なお、データ処理システム1を構成するデータ処理装置の各々が行う処理は、主に、上述したように、委任されたデータ処理の分割と、分割したデータ処理の各々の自装置における実行または他のデータ処理装置への委任と、委任したデータ処理の結果を示す結果データの収集および委任元の装置への送信、といった比較的単純な処理である。このように、データ処理装置の各々が比較的単純な処理は行うことにより、データ処理システム1が全体としてデータ処理を効率的に行う点にデータ処理システム1の特徴の一つがある。   Note that the processing performed by each of the data processing devices constituting the data processing system 1 mainly includes the division of the delegated data processing and the execution of each of the divided data processing in its own device or other processing as described above. This is a relatively simple process such as delegation to the data processing device, collection of result data indicating the result of the delegated data processing, and transmission to the delegation source device. Thus, one of the features of the data processing system 1 is that the data processing system 1 efficiently performs data processing as a whole by performing relatively simple processing in each of the data processing devices.

データ処理システム1を構成するデータ処理装置の各々は、通信ネットワークを介して他の装置との間でデータ通信を行う通信手段を備える一般的なコンピュータである。すなわち、データ処理システム1を構成するデータ処理装置の各々は、少なくとも、プログラムを示すプログラムデータを含む各種のデータを記憶するメモリと、メモリに記憶されているプログラムデータが示すプログラムに従い各種のデータ処理を行うプロセッサと、通信ネットワークを介して他の装置との間でデータ通信を行うためのインタフェースである通信インタフェースを備える。   Each of the data processing devices constituting the data processing system 1 is a general computer including a communication unit that performs data communication with other devices via a communication network. That is, each of the data processing devices constituting the data processing system 1 includes at least a memory for storing various data including program data indicating a program, and various data processing according to the program indicated by the program data stored in the memory. And a communication interface which is an interface for performing data communication between the processor and other devices via a communication network.

また、データ処理システム1を構成するデータ処理装置の少なくとも一部は、位置依存データを生成するセンサーから当該センサーが生成した位置依存データを受け取るためのインタフェースである入力インタフェースを備える。なお、通信ネットワークに接続されているセンサーが生成する位置依存データを受け取るデータ処理装置においては、通信インタフェースが入力インタフェースを兼ねる。   Further, at least a part of the data processing device constituting the data processing system 1 includes an input interface that is an interface for receiving position-dependent data generated by the sensor from a sensor that generates position-dependent data. Note that in a data processing apparatus that receives position-dependent data generated by a sensor connected to a communication network, the communication interface also serves as an input interface.

図1を用いて、データ処理システム1の動作を説明する。図1において、矢印は通信ネットワークを介してデータ処理装置の間で送受信されるデータの流れを示している。   The operation of the data processing system 1 will be described with reference to FIG. In FIG. 1, arrows indicate the flow of data transmitted and received between data processing apparatuses via a communication network.

図1に例示のケースにおいては、まず、データ処理装置110が図示せぬ委任元の装置からデータ処理の委任を示す委任データ114を受信する。委任データ114は、例として、F1(F2(F4(D1),F5(D2)),F3(F6(D3)))で表されるデータ処理の委任を示す。なお、関数F#()は#で識別される種類のデータ処理を示し、データD#は#で識別される種類の位置依存データを示す。なお、委任されるデータ処理には、取得される位置が限定されないデータ(例えば、現在時刻を示す時刻データ等。以下、「位置非依存データ」という)を用いたデータ処理が含まれてもよい。以下、データd#は、#で識別される種類の位置非依存データを示す。   In the case illustrated in FIG. 1, first, the data processing device 110 receives delegation data 114 indicating delegation of data processing from a delegation source device (not shown). As an example, the delegation data 114 indicates delegation of data processing represented by F1 (F2 (F4 (D1), F5 (D2)), F3 (F6 (D3))). The function F # () indicates the type of data processing identified by #, and the data D # indicates the position-dependent data of the type identified by #. The data processing to be delegated may include data processing using data in which the position to be acquired is not limited (for example, time data indicating the current time, etc., hereinafter referred to as “position-independent data”). . Hereinafter, data d # indicates position-independent data of the type identified by #.

データ処理装置110は、委任データ114が示すデータ処理を、データ処理F1()と、データ処理F2(F4(D1),F5(D2))と、データ処理F3(F6(D3))とに分割する。なお、データ処理F2(F4(D1),F5(D2))とデータ処理F3(F6(D3))は各々、データ処理F1()の変数を生成するためのデータ処理である。   The data processing device 110 divides the data processing indicated by the delegation data 114 into data processing F1 (), data processing F2 (F4 (D1), F5 (D2)), and data processing F3 (F6 (D3)). To do. The data processing F2 (F4 (D1), F5 (D2)) and the data processing F3 (F6 (D3)) are data processing for generating variables of the data processing F1 ().

続いて、データ処理装置110は、データ処理装置110に記憶されているパフォーマンスデータに基づく決定方法(後述)に従い、データ処理F1()は自装置(データ処理装置110)により実行すべきデータ処理であると決定し、データ処理F2(F4(D1),F5(D2))はデータ処理装置120に委任すべきデータ処理であると決定し、データ処理F3(F6(D3))はデータ処理装置130に委任すべきデータ処理であると決定する。データ処理装置110は、この決定に従い、データ処理装置120に対し、データ処理F2(F4(D1),F5(D2))の委任を示す委任データ116を送信し、データ処理装置130に対し、データ処理F3(F6(D3))の委任を示す委任データ118を送信する。   Subsequently, the data processing device 110 follows the determination method (described later) based on the performance data stored in the data processing device 110, and the data processing F1 () is data processing to be executed by the own device (data processing device 110). The data processing F2 (F4 (D1), F5 (D2)) is determined to be data processing to be delegated to the data processing device 120, and the data processing F3 (F6 (D3)) is determined to be the data processing device 130. It is determined that the data processing should be delegated. In accordance with this determination, the data processing device 110 transmits the delegation data 116 indicating the delegation of the data processing F2 (F4 (D1), F5 (D2)) to the data processing device 120, and transmits the data to the data processing device 130. Delegation data 118 indicating the delegation of the process F3 (F6 (D3)) is transmitted.

データ処理装置120は、委任データ116が示すデータ処理F2(F4(D1),F5(D2))をデータ処理F2()と、データ処理F4(D1)と、データ処理F5(D2)とに分割する。続いて、データ処理装置120は、データ処理装置120に記憶されているパフォーマンスデータに基づく決定方法(後述)に従い、データ処理F2()は自装置(データ処理装置120)により実行すべきデータ処理であると決定し、データ処理F4(D1)はデータ処理装置140に委任すべきデータ処理であると決定し、データ処理F5(D2)はデータ処理装置150に委任すべきデータ処理であると決定する。データ処理装置120は、この決定に従い、データ処理装置140に対し、データ処理F4(D1)の委任を示す委任データ126を送信し、データ処理装置150に対し、データ処理F5(D2)の委任を示す委任データ128を送信する。   The data processing device 120 divides the data processing F2 (F4 (D1), F5 (D2)) indicated by the delegation data 116 into the data processing F2 (), the data processing F4 (D1), and the data processing F5 (D2). To do. Subsequently, the data processing device 120 follows the determination method (described later) based on the performance data stored in the data processing device 120, and the data processing F2 () is data processing to be executed by the own device (data processing device 120). The data processing F4 (D1) is determined to be data processing to be delegated to the data processing device 140, and the data processing F5 (D2) is determined to be data processing to be delegated to the data processing device 150. . In accordance with this determination, the data processing device 120 transmits delegation data 126 indicating delegation of the data processing F4 (D1) to the data processing device 140, and delegates the data processing F5 (D2) to the data processing device 150. Delegation data 128 is sent.

データ処理装置140は、委任データ126が示すデータ処理F4(D1)を、それ以上の分割ができない処理であると判定する。そこで、データ処理装置140はデータ処理の分割は行わず、このデータ処理F4(D1)を、データ処理装置140に記憶されているパフォーマンスデータに基づく決定方法(後述)に従い、自装置(データ処理装置140)により実行すべきデータ処理であると決定する。そこで、データ処理装置140はデータ処理F4(D1)を実行し、データ処理の結果F4(D1)を示す結果データ127を、委任データ126に対する応答として、データ処理装置120に送信する。   The data processing device 140 determines that the data process F4 (D1) indicated by the delegation data 126 is a process that cannot be further divided. Therefore, the data processing device 140 does not divide the data processing, and performs the data processing F4 (D1) according to a determination method (described later) based on performance data stored in the data processing device 140 (the data processing device). 140), the data processing to be executed is determined. Therefore, the data processing device 140 executes the data processing F4 (D1), and transmits the result data 127 indicating the data processing result F4 (D1) to the data processing device 120 as a response to the delegation data 126.

データ処理装置150は、委任データ128が示すデータ処理F5(D2)を、それ以上の分割ができない処理であると判定する。そこで、データ処理装置150はデータ処理の分割は行わず、このデータ処理F5(D2)を、データ処理装置150に記憶されているパフォーマンスデータに基づく決定方法(後述)に従い、自装置(データ処理装置150)により実行すべきデータ処理であると決定する。そこで、データ処理装置150はデータ処理F5(D2)を実行し、データ処理の結果F5(D2)を示す結果データ129を、委任データ128に対する応答として、データ処理装置120に送信する。   The data processing device 150 determines that the data process F5 (D2) indicated by the delegation data 128 is a process that cannot be further divided. Therefore, the data processing device 150 does not divide the data processing, and this data processing F5 (D2) is performed according to a determination method (described later) based on performance data stored in the data processing device 150 (the data processing device). 150), the data processing to be executed is determined. Therefore, the data processing device 150 executes the data processing F5 (D2), and transmits the result data 129 indicating the data processing result F5 (D2) to the data processing device 120 as a response to the delegation data 128.

データ処理装置120は、結果データ127が示す結果F4(D1)と、結果データ129が示す結果F5(D2)を用いて、自装置が実行すると決定したデータ処理F2()(すなわち、データ処理F2(F4(D1),F5(D2)))を実行し、データ処理の結果F2(F4(D1),F5(D2))を示す結果データ117を、委任データ116に対する応答として、データ処理装置110に送信する。   The data processing device 120 uses the result F4 (D1) indicated by the result data 127 and the result F5 (D2) indicated by the result data 129 to perform the data processing F2 () (that is, the data processing F2 determined by the own device). (F4 (D1), F5 (D2))) is executed, and the result data 117 indicating the result of data processing F2 (F4 (D1), F5 (D2)) is returned as a response to the delegation data 116. Send to.

一方、データ処理装置130は、データ処理装置110から委任データ118を受信すると、委任データ118が示すデータ処理F3(F6(D3))をデータ処理F3()と、データ処理F6(D3)とに分割する。続いて、データ処理装置130は、データ処理装置130に記憶されているパフォーマンスデータに基づく決定方法(後述)に従い、データ処理F3()は自装置(データ処理装置130)により実行すべきデータ処理であると決定し、データ処理F6(D3)はデータ処理装置160に委任すべきデータ処理であると決定する。データ処理装置130は、この決定に従い、データ処理装置160に対し、データ処理F6(D3)の委任を示す委任データ136を送信する。   On the other hand, when data processing device 130 receives delegation data 118 from data processing device 110, data processing F3 (F6 (D3)) indicated by delegation data 118 is changed to data processing F3 () and data processing F6 (D3). To divide. Subsequently, the data processing device 130 follows the determination method (described later) based on the performance data stored in the data processing device 130, and the data processing F3 () is data processing to be executed by the own device (data processing device 130). The data processing F6 (D3) is determined to be data processing to be delegated to the data processing device 160. In accordance with this determination, the data processing device 130 transmits delegation data 136 indicating delegation of the data processing F6 (D3) to the data processing device 160.

データ処理装置160は、委任データ136が示すデータ処理F6(D3)を、それ以上の分割ができない処理であると判定する。そこで、データ処理装置160はデータ処理の分割は行わず、このデータ処理F6(D3)を、データ処理装置160に記憶されているパフォーマンスデータに基づく決定方法(後述)に従い、自装置(データ処理装置160)により実行すべきデータ処理であると決定する。そこで、データ処理装置160はデータ処理F6(D3)を実行し、データ処理の結果F6(D3)を示す結果データ137を、委任データ136に対する応答として、データ処理装置130に送信する。   The data processing device 160 determines that the data process F6 (D3) indicated by the delegation data 136 is a process that cannot be further divided. Therefore, the data processing device 160 does not divide the data processing, and performs this data processing F6 (D3) according to a determination method (described later) based on performance data stored in the data processing device 160 (the data processing device). 160), the data processing to be executed is determined. Therefore, the data processing device 160 executes the data processing F6 (D3), and transmits the result data 137 indicating the data processing result F6 (D3) to the data processing device 130 as a response to the delegation data 136.

データ処理装置130は、結果データ137が示す結果F6(D3)を用いて、自装置が実行すると決定したデータ処理F3()(すなわち、F3(F6(D3)))を実行し、データ処理の結果F3(F6(D3))を示す結果データ119を、委任データ118に対する応答として、データ処理装置110に送信する。   The data processing device 130 uses the result F6 (D3) indicated by the result data 137 to execute the data processing F3 () determined by the own device to be executed (that is, F3 (F6 (D3))). Result data 119 indicating the result F3 (F6 (D3)) is transmitted to the data processing device 110 as a response to the delegation data 118.

データ処理装置110は、結果データ117が示す結果F2(F4(D1),F5(D2))と、結果データ119が示す結果F3(F6(D3))を用いて、自装置が実行すると決定したデータ処理F1()(すなわち、F1(F2(F4(D1),F5(D2)),F3(F6(D3))))を実行し、データ処理の結果F1(F2(F4(D1),F5(D2)),F3(F6(D3)))を示す結果データ115を、委任データ114に対する応答として、図示せぬ委任元の装置に送信する。   The data processing apparatus 110 has decided to execute the data processing apparatus 110 using the result F2 (F4 (D1), F5 (D2)) indicated by the result data 117 and the result F3 (F6 (D3)) indicated by the result data 119. Data processing F1 () (that is, F1 (F2 (F4 (D1), F5 (D2)), F3 (F6 (D3)))) is executed, and the result of data processing F1 (F2 (F4 (D1), F5) (D2)) and result data 115 indicating F3 (F6 (D3))) are transmitted to a delegation source device (not shown) as a response to the delegation data 114.

以上が、データ処理システム1のデータ処理システム1の動作の説明である。   The above is the description of the operation of the data processing system 1 of the data processing system 1.

図2は、データ処理システム1を構成するデータ処理装置の機能構成を示した図である。すなわち、上述した通信ネットワークを介して他の装置との間でデータ通信を行う通信手段を備える一般的なコンピュータは、メモリに記憶されている本実施形態に係るプログラムに従うデータ処理を実行することにより、図2に示す構成部を備える装置として機能する。   FIG. 2 is a diagram showing a functional configuration of the data processing apparatus that constitutes the data processing system 1. That is, a general computer including a communication unit that performs data communication with another device via the communication network described above performs data processing according to the program according to the present embodiment stored in the memory. 2 functions as an apparatus including the components shown in FIG.

データ処理システム1を構成するデータ処理装置の各々は、各種データを記憶する記憶手段301と、委任元の装置から委任データを受信し、また、委任先のデータ処理装置から結果データを受信する受信手段302と、委任データが示すデータ処理を複数のデータ処理に分割する分割手段303を備える。   Each of the data processing devices constituting the data processing system 1 receives storage data 301 for storing various data, delegation data from the delegation source device, and reception of result data from the delegation destination data processing device. Means 302 and dividing means 303 for dividing the data processing indicated by the delegation data into a plurality of data processes.

また、データ処理システム1を構成するデータ処理装置の各々は、分割手段303が分割した複数のデータ処理の各々に関し、記憶手段301に記憶されるパフォーマンスデータ(後述)に基づき、当該データ処理を自装置で実行するか自装置以外のデータ処理装置に委任するかを決定し、当該データ処理を他のデータ処理装置に委任すると決定した場合、当該データ処理の委任先のデータ処理装置を決定する決定手段304を備える。   Each of the data processing devices constituting the data processing system 1 automatically performs the data processing for each of the plurality of data processes divided by the dividing unit 303 based on performance data (described later) stored in the storage unit 301. Decide whether to execute on the device or to delegate to a data processing device other than its own device, and if it is determined to delegate the data processing to another data processing device, decide to determine the data processing device to which the data processing is delegated Means 304 are provided.

また、データ処理システム1を構成するデータ処理装置の各々は、1以上の種類のデータ処理を実行可能であり、決定手段304が自装置で実行すると決定したデータ処理を実行する処理手段305を備える。   Each of the data processing devices constituting the data processing system 1 includes processing means 305 that can execute one or more types of data processing and that executes data processing determined by the determining means 304 to be executed by itself. .

また、データ処理システム1を構成するデータ処理装置の各々は、決定手段304が自装置以外のデータ処理装置に委任すると決定したデータ処理に関し、当該データ処理の委任を示す委任データを、決定手段304が決定した委任先のデータ処理装置に送信し、また、受信手段302が受信した委任データに対する応答として、処理手段305が実行したデータ処理の結果を示す結果データおよび受信手段302が委任先のデータ処理装置から受信した結果データの少なくとも一方を、委任元のデータ処理装置に送信する送信手段306を備える。   In addition, each of the data processing devices constituting the data processing system 1 determines the delegation data indicating the delegation of the data processing with respect to the data processing determined by the determining unit 304 to be delegated to a data processing device other than the own device. The result data indicating the result of the data processing executed by the processing unit 305 and the data received by the receiving unit 302 as a response to the delegation data received by the receiving unit 302 A transmission unit 306 is provided for transmitting at least one of the result data received from the processing device to the data processing device as a delegation source.

また、データ処理システム1を構成するデータ処理装置の各々は、処理手段305がデータ処理に要したコストに基づき、記憶手段301に記憶されている自装置に関するパフォーマンスデータ(後述)を変更し、また、送信手段306が委任先のデータ処理装置に委任データを送信した後に当該委任データに対する応答として受信手段302が結果データを受信するまでに通信ネットワーク及びデータ処理システム1を構成する複数のデータ処理装置の少なくとも1つが要したコストに基づき、記憶手段301に記憶されている当該委任先のデータ処理装置に関するパフォーマンスデータ(後述)を変更する変更手段307を備える。   Further, each of the data processing devices constituting the data processing system 1 changes the performance data (described later) related to the own device stored in the storage unit 301 based on the cost required for the data processing by the processing unit 305, and A plurality of data processing devices constituting the communication network and the data processing system 1 until the receiving unit 302 receives the result data as a response to the delegation data after the transmission unit 306 transmits the delegation data to the delegation destination data processing device And a change unit 307 that changes performance data (described later) related to the data processing apparatus of the delegation destination stored in the storage unit 301 based on the cost required by at least one of the above.

また、データ処理システム1を構成するデータ処理装置の各々は、当該データ処理装置に接続されているセンサーにより生成された位置依存データや、自装置内で生成される時刻データ等の位置非依存データを取得する取得手段308を備える。なお、一部のデータ処理装置の取得手段308は、位置非依存データを取得するが位置依存データは取得しなくてもよい。 Each of the data processing devices constituting the data processing system 1 includes position-independent data such as position-dependent data generated by a sensor connected to the data processing device and time data generated in the device itself. Acquisition means 308 is provided. Note that the acquisition unit 308 of some data processing apparatuses acquires position-independent data, but position-dependent data may not be acquired.

図3は、各データ処理装置の記憶手段301に記憶されているパフォーマンスデータの構成を例示した図である。なお、データ処理システム1を構成する複数のデータ処理装置の各々が記憶するパフォーマンスデータの内容は互いに異なる。   FIG. 3 is a diagram illustrating a configuration of performance data stored in the storage unit 301 of each data processing device. The contents of the performance data stored in each of the plurality of data processing devices constituting the data processing system 1 are different from each other.

パフォーマンスデータは、自装置を含む複数のデータ処理装置の各々に関し、当該データ処理装置が受任可能なデータ処理の種類と、当該データ処理装置が利用可能なデータの種類と、当該データ処理装置が受任可能なデータ処理の種類の各々に関し当該種類のデータ処理に要するコストとを示すデータである。   The performance data is related to each of a plurality of data processing devices including its own device, the type of data processing that can be accepted by the data processing device, the type of data that can be used by the data processing device, and the data processing device It is data indicating the cost required for the type of data processing for each possible type of data processing.

図3に例示のパフォーマンスデータは、「データ」欄に示される種類の位置依存データを用いた、「処理」欄に示される種類のデータ処理が、「処理」欄に示されるデータ処理装置で過去に実行された際のコストを「コスト」欄に示している。ただし、「データ」欄が空欄であるデータレコードの「コスト」欄のデータは、位置非依存データを用いた、「処理」欄に示される種類のデータ処理が、「装置」欄に示されるデータ処理装置で過去に実行された際のコストを示している。   The performance data illustrated in FIG. 3 shows that the type of data processing shown in the “processing” column using the position-dependent data shown in the “data” column is past data processing devices shown in the “processing” column. The cost at the time of execution is shown in the “cost” column. However, the data in the “cost” column of the data record in which the “data” column is blank, the data processing of the type indicated in the “processing” column using position-independent data is the data indicated in the “device” column. The cost when executed in the past by the processing device is shown.

パフォーマンスデータの「コスト」欄に示されるデータは、例えば、自装置が実行したデータ処理に関しては当該実行に要した時間、他のデータ処理装置に委任したデータ処理に関しては委任データの送信から結果データの受信までに要した時間、データ処理に要した処理負荷(例えば、プロセッサ占有率の平均値等)、データ処理に伴い送受信されたデータ量(すなわちトラフィック量)等を用いて、所定の算出式に従い算出されるデータである。なお、データ処理に要した処理負荷や、エータ処理に伴い送受信されたデータ量等の情報は、例えば、結果データにメタデータとして付加されることで、委任先のデータ処理装置から委任元のデータ処理装置へと通知される。   The data shown in the “cost” column of the performance data includes, for example, the time required for the data processing executed by the own device, and the result data from the transmission of the delegated data for the data processing delegated to other data processing devices. Using the time required to receive the data, the processing load required for the data processing (for example, the average value of the processor occupancy), the amount of data transmitted / received during the data processing (ie, the traffic amount), etc. The data is calculated according to Information such as the processing load required for data processing and the amount of data transmitted / received during eta processing is added as metadata to the result data, for example, from the data processing device of the delegation destination to the data of the delegation source The processing device is notified.

以下に、図4及び図5を用いて、データ処理装置の決定手段304がパフォーマンスデータ(図3)に基づきデータ処理を実行すべきデータ処理装置を決定する方法を説明する。図4は、データ処理装置420は分割手段303により分割したデータ処理の各々の委任先を決定しようとしている状態を示す。図4の状態において、データ処理装置420の分割手段303は、委任元の装置401から受信した委任データが示すデータ処理を親データ処理F0()、子データ処理F1()、および子データ処理F2()に分割している。   Hereinafter, a method of determining a data processing apparatus to be subjected to data processing based on performance data (FIG. 3) will be described with reference to FIGS. 4 and 5. FIG. 4 shows a state where the data processing apparatus 420 is about to determine each delegation destination of the data processing divided by the dividing unit 303. In the state of FIG. 4, the dividing unit 303 of the data processing device 420 performs the data processing indicated by the delegation data received from the delegation source device 401 as the parent data processing F0 (), the child data processing F1 (), and the child data processing F2. It is divided into ().

なお、子データ処理とは、親データ処理の変数を結果として生成するデータ処理を意味する。   The child data processing means data processing that generates a variable of the parent data processing as a result.

親データ処理F0()は、子データ処理F1()の結果と、位置依存データD1と、子データ処理F2()の結果とを用いる。   The parent data process F0 () uses the result of the child data process F1 (), the position-dependent data D1, and the result of the child data process F2 ().

親データ処理F1()は、子データ処理F3()の結果と、子データ処理F4()の結果を用いる。また、親データ処理F3()は位置依存データD3を用いる。この場合、データ処理装置420の決定手段304は、子データ処理F1()の依頼先の決定において、データ処理F1()を受任可能なデータ処理装置であり、かつ、位置依存データD3を利用可能なデータ処理装置のうち、コストが最も小さいデータ処理装置を、パフォーマンスデータを参照して特定する。   The parent data processing F1 () uses the result of the child data processing F3 () and the result of the child data processing F4 (). Further, the parent data processing F3 () uses the position dependent data D3. In this case, the determination unit 304 of the data processing device 420 is a data processing device that can accept the data processing F1 () in determining the request destination of the child data processing F1 (), and can use the position-dependent data D3. Among data processing devices, the data processing device with the lowest cost is specified with reference to the performance data.

データ処理装置420は、上記のように特定した最も低コストのデータ処理装置421を子データ処理F1()の委任先のデータ処理装置として決定する。なお、この場合、データ処理装置421は位置依存データD3をセンサーから直接は取得できないが、データ処理装置422に位置依存データD3を用いるデータ処理を委任するか、もしくは、データ処理装置422から位置依存データD3を受信することで、位置依存データD3を利用することができる。従って、データ処理装置421は位置依存データD3を用いたデータ処理の委任先となり得る。   The data processing device 420 determines the lowest-cost data processing device 421 identified as described above as the data processing device to which the child data processing F1 () is delegated. In this case, the data processing device 421 cannot directly acquire the position-dependent data D3 from the sensor, but delegates data processing using the position-dependent data D3 to the data processing device 422 or receives the position-dependent data from the data processing device 422. By receiving the data D3, the position-dependent data D3 can be used. Therefore, the data processing device 421 can be a delegation destination for data processing using the position-dependent data D3.

データ処理装置420の分割手段303により分割されたもう一つの子データ処理である親データ処理F2()は、位置依存データD2と、子データ処理F5()の結果を用いる。また、親データ処理F5()は、位置依存データD4を用いる。この場合、データ処理装置420の決定手段304は、子データ処理F2()の依頼先の決定において、データ処理F2()を受任可能なデータ処理装置であり、かつ、位置依存データD2を利用可能なデータ処理装置のうち、コストが最も小さいデータ処理装置を、パフォーマンスデータを参照して特定する。   Parent data processing F2 (), which is another child data processing divided by the dividing unit 303 of the data processing device 420, uses the position-dependent data D2 and the result of the child data processing F5 (). Further, the parent data processing F5 () uses the position dependent data D4. In this case, the determination unit 304 of the data processing device 420 is a data processing device that can accept the data processing F2 () in determining the request destination of the child data processing F2 () and can use the position-dependent data D2. Among data processing devices, the data processing device with the lowest cost is specified with reference to the performance data.

なお、この実施形態においては、委任するデータ処理が複数の位置依存データを利用する場合、それらのうち最初に用いる位置依存データ(この場合、位置依存データD4よりも先に、位置依存データD2が用いられるため、位置依存データD2)が委任先のデータ処理装置の決定において考慮される。ただし、例えば、それらの位置依存データの両方が委任先のデータ処理装置の決定において考慮されてもよい。   In this embodiment, when the data processing to be delegated uses a plurality of position-dependent data, the position-dependent data used first among them (in this case, the position-dependent data D2 is preceded by the position-dependent data D4). As such, the position-dependent data D2) is taken into account in determining the data processing device to be delegated. However, for example, both of these position-dependent data may be considered in the determination of the data processing apparatus to be delegated.

データ処理装置420は、上記のように特定した最も低コストのデータ処理装置424をデータ処理F2()の委任先のデータ処理装置として決定する。   The data processing device 420 determines the lowest-cost data processing device 424 identified as described above as the data processing device to which data processing F2 () is delegated.

図5は、データ処理装置421において、データ処理装置420から委任されたデータ処理を分割手段303が親データ処理F1()、子データ処理F3()、および子データ処理F4()に分割し、決定手段304が子データ処理F3()および子データ処理F4()の委任先のデータ処理装置を決定しようとしており、また、データ処理装置424において、データ処理装置420から委任されたデータ処理を分割手段303が親データ処理F2()、子データ処理F5()に分割し、決定手段304が子データ処理F5()の委任先のデータ処理装置を決定しようとしている状態を示している。   In FIG. 5, in the data processing device 421, the dividing unit 303 divides the data processing delegated from the data processing device 420 into a parent data processing F <b> 1 (), a child data processing F <b> 3 (), and a child data processing F <b> 4 (). The determination means 304 is trying to determine the data processing device to which the child data processing F3 () and child data processing F4 () are delegated, and the data processing device 424 divides the data processing delegated from the data processing device 420. The means 303 is divided into parent data processing F2 () and child data processing F5 (), and the determination means 304 shows a state where the data processing device to which the child data processing F5 () is delegated is to be determined.

データ処理装置421の決定手段304は、子データ処理F3()の委任先のデータ処理装置として、データ処理F3()を受任可能なデータ処理装置であり、かつ、位置依存データD3を利用可能なデータ処理装置のうち、コストが最も小さいデータ処理装置を、パフォーマンスデータを参照して特定する。この場合、データ処理装置422が子データ処理F3()の委任先として決定される。   The determination unit 304 of the data processing device 421 is a data processing device that can accept the data processing F3 () as a data processing device to which the child data processing F3 () is delegated, and can use the position-dependent data D3. Among the data processing devices, the data processing device with the lowest cost is identified with reference to the performance data. In this case, the data processing device 422 is determined as the delegation destination of the child data processing F3 ().

また、データ処理装置421の決定手段304は、子データ処理F4()の委任先のデータ処理装置として、データ処理F4()を受任可能なデータ処理装置であり、かつ、コストが最も小さいデータ処理装置を、パフォーマンスデータを参照して特定する。この場合、データ処理装置423が子データ処理F4()の委任先として決定される。   In addition, the determination unit 304 of the data processing device 421 is a data processing device that can accept the data processing F4 () as a data processing device to which the child data processing F4 () is delegated, and has the lowest cost. The device is identified with reference to the performance data. In this case, the data processing device 423 is determined as the delegation destination of the child data processing F4 ().

また、データ処理装置424の決定手段304は、子データ処理F5()の委任先のデータ処理装置として、データ処理F5()を受任可能なデータ処理装置であり、かつ、位置依存データD4を利用可能なデータ処理装置のうち、コストが最も小さいデータ処理装置を、パフォーマンスデータを参照して特定する。この場合、データ処理装置425が子データ処理F5()の委任先として決定される。   The determination unit 304 of the data processing device 424 is a data processing device that can accept the data processing F5 () as the data processing device to which the child data processing F5 () is delegated, and uses the position-dependent data D4. Among the possible data processing devices, the data processing device with the lowest cost is identified with reference to the performance data. In this case, the data processing device 425 is determined as the delegation destination of the child data processing F5 ().

続いて、図6A及び図6B(以下、これらを「図6」という)のフローチャート用いて、データ処理装置がデータ処理を実行すべきデータ処理装置を決定するプロセスを説明する。   6A and 6B (hereinafter referred to as “FIG. 6”), a process for determining a data processing apparatus in which the data processing apparatus should execute data processing will be described.

受信手段302が委任元の装置から委任データを受信すると(ステップ601)、分割手段303は委任データにより委任されたデータ処理を複数のデータ処理に分割する(ステップS602)。続いて、決定手段304は、分割された親データ処理が自装置の処理手段305により実行可能であるか否かをパフォーマンスデータに基づき判定する(ステップS603)。親データ処理を自装置で実行不可能な場合(ステップ603;No)、送信手段306は委任元の装置に対し処理不能であることを送信し(ステップ613)、データ処理装置は一連の処理を終了する(ステップS617)。   When the receiving unit 302 receives the delegation data from the delegation source device (step 601), the dividing unit 303 divides the data process delegated by the delegation data into a plurality of data processes (step S602). Subsequently, the determination unit 304 determines whether or not the divided parent data processing can be executed by the processing unit 305 of the own device based on the performance data (step S603). If the parent data processing cannot be executed by the own device (step 603; No), the transmission means 306 transmits information indicating that processing cannot be performed to the delegation source device (step 613), and the data processing device performs a series of processing. The process ends (step S617).

親データ処理が自装置で実行可能な場合(ステップ603;Yes)、決定手段304は全ての子データ処理が処理済みであるかどうかを判定する(ステップ604)。全ての子データ処理が完了している場合(ステップS604;Yes)、処理手段305はそれらの子データ処理の結果データを用いて親データ処理を実行し、その結果を示す結果データを生成する(ステップS614)。続いて、送信手段306は処理手段305が生成した結果データを要求元の装置に送信する(ステップ615)。続いて、変更手段307はデータ処理に要したコストを算出してパフォーマンスデータを更新する(ステップ616)。その後、データ処理装置は一連の処理を終了する(ステップS617)。   When the parent data processing can be executed by the own device (step 603; Yes), the determination unit 304 determines whether all the child data processing has been processed (step 604). When all the child data processing has been completed (step S604; Yes), the processing unit 305 executes parent data processing using the result data of those child data processing, and generates result data indicating the result ( Step S614). Subsequently, the transmission unit 306 transmits the result data generated by the processing unit 305 to the requesting device (step 615). Subsequently, the changing unit 307 calculates the cost required for data processing and updates the performance data (step 616). Thereafter, the data processing apparatus ends a series of processes (step S617).

完了していない子データ処理がある場合(ステップS604;No)、決定手段304は未完了の子データ処理の中から1つを対象の子データ処理として選択し(ステップS605)、選択した対象の子データ処理の最上位のデータ処理と、選択した子データ処理が位置依存データを用いる場合、それらの位置依存データのうち選択した子データ処理において最初に用いられる位置依存データを特定する(ステップ606)。   When there is a child data process that has not been completed (step S604; No), the determination unit 304 selects one of the uncompleted child data processes as a target child data process (step S605), and selects the selected target data. When the top-level data processing of the child data processing and the selected child data processing use position-dependent data, the position-dependent data used first in the selected child data processing is specified from among the position-dependent data (step 606). ).

続いて、決定手段304は、パフォーマンスデータから、ステップ606において特定したデータ処理が委任可能であり、かつ、ステップ606において位置依存データを特定した場合、当該位置依存データを利用可能なデータ処理装置を、対象の子データ処理を実行するデータ処理装置の候補として抽出する(ステップ607)。   Subsequently, the determining unit 304 can delegate the data processing specified in step 606 from the performance data, and if the position-dependent data is specified in step 606, the determining unit 304 can select a data processing apparatus that can use the position-dependent data. Then, the data is extracted as a candidate of the data processing apparatus that executes the target child data processing (step 607).

ステップ607において1以上のデータ処理装置が候補として抽出された場合(ステップS608;Yes)、決定手段304は、それらの候補の中から、パフォーマンスデータが示すコストが最小のものを対象の子データ処理を実行するデータ処理装置として決定する(ステップS609)。   When one or more data processing devices are extracted as candidates in step 607 (step S608; Yes), the determination unit 304 processes the child data for the candidate having the smallest cost indicated by the performance data from among these candidates. Is determined as a data processing apparatus to execute (step S609).

ステップS609において決定されたデータ処理装置が自装置である場合(ステップS610;Yes)、処理手段305は対象の子データ処理を実行し(ステップ611)、その結果を示す結果データを記憶手段301に一時的に記憶させる。その後、データ処理装置は処理をステップS604に戻す。   When the data processing device determined in step S609 is the own device (step S610; Yes), the processing unit 305 executes the target child data processing (step 611) and stores the result data indicating the result in the storage unit 301. Remember me temporarily. Thereafter, the data processing apparatus returns the process to step S604.

一方、ステップS609において決定されたデータ処理装置が自装置ではない場合(ステップS610;No)、送信手段306は委任先として決定されたデータ処理装置に対し委任データを送信し、その応答として送信されてくる結果データを受信手段302が受信する(ステップS612)。受信手段302は委任先のデータ処理装置から受信した結果データを記憶手段301に一時的に記憶させる。その後、データ処理装置は処理をステップS604に戻す。   On the other hand, when the data processing apparatus determined in step S609 is not the own apparatus (step S610; No), the transmission unit 306 transmits the delegation data to the data processing apparatus determined as the delegation destination, and is transmitted as a response. The receiving means 302 receives the incoming result data (step S612). The receiving unit 302 temporarily stores the result data received from the delegation destination data processing apparatus in the storage unit 301. Thereafter, the data processing apparatus returns the process to step S604.

ステップS607においてデータ処理装置の候補が抽出されなかった場合(ステップS608;No)、すなわち、対象の子データ処理を過去にいずれのデータ処理装置にも委任した実績がない場合、決定手段304は自装置以外のデータ処理装置の中から1つ、未選択のデータ処理装置を所定の規則に従い選択する(ステップ618)。ステップ618において決定手段304がデータ処理装置を選択する規則としては、例えば、対象の子データ処理において用いられる位置依存データが利用可能であるか否かは不明であるが、対象の子データ処理と同じ種類のデータ処理を受任可能であるデータ処理装置を優先的に選択する、という規則、対象の子データ処理と同じ種類のデータ処理を受任可能であるか否かは不明であるが、対象の子データ処理が用いる位置依存データを利用可能であるデータ処理装置を優先的に選択する、という規則、コストの平均値が低いものを優先的に選択する、という規則、ランダムに選択する、という規則などが考えられる。   If no data processing device candidate is extracted in step S607 (step S608; No), that is, if there is no record of delegating the target child data processing to any data processing device in the past, the determination unit 304 determines whether One non-selected data processing device is selected from data processing devices other than the device according to a predetermined rule (step 618). For example, it is unclear whether the position-dependent data used in the target child data processing can be used as a rule for the determination unit 304 to select the data processing device in step 618. It is unclear whether or not the same kind of data processing as the target child data processing can be accepted, but the rule that the data processing device that can accept the same type of data processing is preferentially selected. Rules that preferentially select data processing devices that can use position-dependent data used by child data processing, rules that preferentially select one with a low average cost, and rules that select randomly And so on.

送信手段306は、ステップ618において決定手段304が選択したデータ処理装置に対し委任データを送信する(ステップS619)。ステップS619に送信された委任データに対する応答として、委任したデータ処理の結果を示す結果データが送信されてきた場合(ステップ620;Yes)、受信手段302はその結果データを受信し、記憶手段301に一時的に記憶させる。その後、データ処理装置は処理をステップS604に戻す。   The transmitting unit 306 transmits the delegation data to the data processing device selected by the determining unit 304 in step 618 (step S619). When the result data indicating the result of the delegated data processing is transmitted as a response to the delegation data transmitted in step S619 (step 620; Yes), the reception unit 302 receives the result data and stores it in the storage unit 301. Remember me temporarily. Thereafter, the data processing apparatus returns the process to step S604.

ステップS619に送信された委任データに対する応答として、委任したデータ処理の結果を示す結果データが送信されてこなかった場合(ステップ620;No)、決定手段304はステップ618において全てのデータ処理装置を選択したか否かを判定する(ステップ621)。ステップ618において未選択のデータ処理装置がある場合(ステップ621;No)、データ処理装置は処理をステップ618に戻す。   When the result data indicating the result of the delegated data processing has not been transmitted as a response to the delegated data transmitted in step S619 (step 620; No), the determination unit 304 selects all the data processing devices in step 618. It is determined whether or not (step 621). If there is an unselected data processing device in step 618 (step 621; No), the data processing device returns the processing to step 618.

一方、ステップ618において全てのデータ処理装置が既に選択されている場合(ステップ621;Yes)、対象の子データ処理を実行可能なデータ処理装置は見つからなかったことを意味する。従って、送信手段306は委任元の装置に対し処理不能であることの通知を送信し(ステップ613)、データ処理装置は一連の処理を終了する(ステップS617)。   On the other hand, if all data processing devices have already been selected in step 618 (step 621; Yes), it means that no data processing device capable of executing the target child data processing has been found. Accordingly, the transmission unit 306 transmits a notification indicating that processing is impossible to the delegation source device (step 613), and the data processing device ends a series of processing (step S617).

上記のステップ618〜620の処理により、過去に委任したことのなかったデータ処理に関し、受任可能なデータ処理装置が特定され、その実績がステップ616においてパフォーマンスデータに反映されることになる。   With the processing in steps 618 to 620 described above, a data processing device that can be delegated is specified for data processing that has not been delegated in the past, and the result is reflected in the performance data in step 616.

上述したデータ処理システム1によれば、データ処理の分担を集中管理するデータ処理装置を要することなく、データ処理が複数のデータ処理装置により分散して実行されるとともに、データ処理全体の効率化が図られる。   According to the data processing system 1 described above, data processing is performed in a distributed manner by a plurality of data processing devices without requiring a data processing device that centrally manages the sharing of data processing, and the overall efficiency of data processing is improved. Figured.

[変形例]
上述した実施形態は本発明の技術的思想の範囲内で様々に変形可能である。以下にそれらの変形の例を示す。
[Modification]
The above-described embodiments can be variously modified within the scope of the technical idea of the present invention. Examples of these modifications are shown below.

(1)上述した実施形態においては、データ処理装置が記憶手段301に記憶するパフォーマンスデータは、当該データ処理装置が通信ネットワークを介してデータ通信が可能なデータ処理装置に関するパフォーマンスを示す。パフォーマンスデータが、当該パフォーマンスデータを記憶するデータ処理装置が直接はデータ通信ができないデータ処理装置に関するパフォーマンスを示すデータを含んでもよい。 (1) In the above-described embodiment, the performance data stored in the storage unit 301 by the data processing device indicates the performance related to the data processing device in which the data processing device can perform data communication via the communication network. The performance data may include data indicating the performance related to the data processing device in which the data processing device that stores the performance data cannot directly perform data communication.

この変形例においては、受信手段302が、データ通信が可能なデータ処理装置の各々から、当該データ処理装置がデータ通信可能なデータ処理装置の各々に関するパフォーマンスデータを受信し、記憶手段301が当該パフォーマンスデータを記憶する。   In this modification, the receiving unit 302 receives performance data relating to each data processing device capable of data communication from each data processing device capable of data communication, and the storage unit 301 performs the performance. Store the data.

この変形例によれば、決定手段304は、自装置が直接データ通信可能なデータ処理装置のパフォーマンスに加え、自装置が直接はデータ通信できないデータ処理装置のパフォーマンスに基づき、データ処理の委任先のデータ処理装置を決定することができる。従って、上述した実施形態における場合と比較して、データ処理全体の効率化が図られる。   According to this modification, the determination unit 304 determines the data processing delegation destination on the basis of the performance of the data processing apparatus in which the own apparatus can directly perform data communication and the performance of the data processing apparatus in which the own apparatus cannot perform data communication directly. A data processing device can be determined. Therefore, the efficiency of the entire data processing can be improved as compared with the case of the above-described embodiment.

(2)上述した実施形態においては、或るデータ処理に関し過去にいずれかのデータ処理装置に委任した実績があれば、そのデータ処理装置が繰り返し、そのデータ処理の委任先として選択される。従って、仮に他のデータ処理装置がより低コストで同じデータ処理を実行可能であっても、過去にそのデータ処理を実行した実績があるデータ処理装置が一時的にデータ処理システム1から離脱する等の状況が生じなければ、より低コストでデータ処理を実行可能なデータ処理装置が認識されない。 (2) In the above-described embodiment, if there is a record of delegating to a data processing device in the past regarding a certain data processing, the data processing device is repeatedly selected as a delegation destination of the data processing. Therefore, even if another data processing device can execute the same data processing at a lower cost, a data processing device having a record of executing the data processing in the past temporarily leaves the data processing system 1. If this situation does not occur, a data processing apparatus capable of executing data processing at a lower cost is not recognized.

従って、決定手段304が、委任対象のデータ処理に関し過去に委任を試みたことのないデータ処理装置があれば、当該データ処理装置を優先的に委任先のデータ処理装置として選択し、データ処理の委任を試みることにより、データ処理装置のパフォーマンスに関する情報を積極的に収集する構成が採用されてもよい。   Therefore, if there is a data processing apparatus that has not attempted delegation in the past with respect to data processing to be delegated, the determining unit 304 preferentially selects the data processing apparatus as a data processing apparatus as a delegation destination, and performs data processing. A configuration may be employed in which information regarding the performance of the data processing apparatus is actively collected by attempting delegation.

この変形例において、決定手段304は、対象の子データ処理に関し、パフォーマンスデータに基づき、当該対象の子データ処理が受任可能であるか否かが不明なデータ処理装置の有無を判定する。対象の子データ処理が受任可能であるか否かが不明なデータ処理装置が有る場合、処理手段305は当該データ処理装置を対象の子データ処理の委任先のデータ処理装置として決定する。   In this modification, the determination unit 304 determines the presence / absence of a data processing device that is unknown whether or not the target child data processing is acceptable based on the performance data regarding the target child data processing. When there is a data processing device whose unknown whether or not the target child data processing is acceptable, the processing unit 305 determines the data processing device as a data processing device to which the target child data processing is delegated.

(3)上述した実施形態および変形例の説明において用いたデータ、処理フロー等は例示であって、本発明はそれらに限定されない。例えば、パフォーマンスデータが過去の実績に基づくデータ処理装置のパフォーマンスをデータ処理が行われた時刻又は時間帯に対応付けて示すデータとして構成されてもよい。この場合、決定手段304は、例えばパフォーマンスデータが示す値に、現在により近い時刻のデータにより大きいウェイトを乗じて加重平均等することにより、現時点の通信ネットワークやデータ処理装置の状態により応じたパフォーマンスを示す指標を得ることができる。また、決定手段304は、例えばパフォーマンスデータが示す値のうち、現在の時間帯に対応付けて記憶されているものを抽出して用いることにより、現材の時間帯に応じた通信ネットワークやデータ処理装置の状態により応じたパフォーマンスを示す指標を得ることができる。その結果、より適切な委任先のデータ処理装置の決定が行われ、データ処理が全体として効率化される。 (3) The data, processing flow, etc. used in the description of the above-described embodiments and modifications are examples, and the present invention is not limited to them. For example, the performance data may be configured as data indicating the performance of the data processing device based on the past performance in association with the time or time zone when the data processing is performed. In this case, for example, the determining unit 304 multiplies the data indicated by the performance data by a larger weight to the data at a time closer to the present time and performs a weighted average or the like, thereby obtaining a performance according to the current state of the communication network or the data processing device. The index shown can be obtained. The determining unit 304 extracts and uses, for example, values stored in association with the current time zone among the values indicated by the performance data, so that the communication network and data processing corresponding to the current material time zone are used. An index indicating performance according to the state of the apparatus can be obtained. As a result, a more appropriate delegation destination data processing apparatus is determined, and the data processing as a whole becomes efficient.

(4)上述した実施形態にかかるデータ処理システムを構成するデータ処理装置をコンピュータにより実現させるためのプログラムは、インターネットなどの通信回線を介してコンピュータにダウンロードされて用いられてもよい。また、このプログラムは、記録媒体に持続的に記録され、当該記録媒体からコンピュータにより読み取られて用いられてもよい。また、当該プログラムを記録した記録媒体が頒布されてもよい。 (4) A program for causing a computer to implement the data processing apparatus constituting the data processing system according to the above-described embodiment may be downloaded to a computer via a communication line such as the Internet and used. Moreover, this program may be continuously recorded on a recording medium, and read and used by the computer from the recording medium. Further, a recording medium on which the program is recorded may be distributed.

本発明はデータ処理を提供するサービス業において利用される。   The present invention is used in a service industry that provides data processing.

1…データ処理システム、110…データ処理装置、120…データ処理装置、130…データ処理装置、140…データ処理装置、150…データ処理装置、160…データ処理装置、201…主データ処理装置、202…従データ処理装置、203…従データ処理装置、204…従データ処理装置、205…従データ処理装置、301…記憶手段、302…受信手段、303…分割手段、304…決定手段、305…処理手段、306…送信手段、307…変更手段、308…取得手段、401…委任元の装置、420…データ処理装置、421…データ処理装置、422…データ処理装置、423…データ処理装置、424…データ処理装置、425…データ処理装置

DESCRIPTION OF SYMBOLS 1 ... Data processing system 110 ... Data processing device 120 ... Data processing device 130 ... Data processing device 140 ... Data processing device 150 ... Data processing device 160 ... Data processing device 201 ... Main data processing device 202 ... Subordinate data processing apparatus 203 ... Subordinate data processing apparatus 204 ... Subordinate data processing apparatus 205 ... Subordinate data processing apparatus 301 ... Storage means 302 ... Receiving means 303 ... Division means 304 ... Determining means 305 ... Processing Means 306 ... Transmission means 307 ... Change means 308 ... Acquisition means 401 ... Delegation source device 420 ... Data processing device 421 ... Data processing device 422 ... Data processing device 423 ... Data processing device 424 ... Data processing device, 425 ... data processing device

Claims (7)

通信ネットワークに接続された自装置を含む複数のデータ処理装置の各々に関し、当該データ処理装置が受任可能なデータ処理の種類と、当該データ処理装置が利用可能なデータの種類と、当該データ処理装置が受任可能なデータ処理の種類の各々に関し当該種類のデータ処理に要するコストとを示すパフォーマンスデータを記憶する記憶手段と、
1以上の種類のデータ処理を実行可能な処理手段と、
データ処理の委任元のデータ処理装置からデータ処理の委任を示す委任データを受信する受信手段と、
前記受信手段が受信した委任データにより委任されるデータ処理を複数のデータ処理に分割する分割手段と、
前記分割手段が分割した複数のデータ処理の各々に関し、前記パフォーマンスデータに基づき、当該データ処理を自装置で実行するか自装置以外のデータ処理装置に委任するかを決定し、当該データ処理を他のデータ処理装置に委任すると決定した場合、当該データ処理の委任先のデータ処理装置を決定する決定手段と、
前記決定手段が自装置以外のデータ処理装置に委任すると決定したデータ処理に関し、当該データ処理の委任を示す委任データを、前記決定手段が決定した委任先のデータ処理装置に送信する送信手段と
を備え、
前記処理手段は、前記決定手段が自装置で実行すると決定したデータ処理を実行し、
前記受信手段は、前記送信手段が送信した委任データに対する応答として委任先のデータ処理装置から送信されてくるデータ処理の結果を示す結果データを受信し、
前記送信手段は、前記受信手段が受信した委任データに対する応答として、前記処理手段が実行したデータ処理の結果を示す結果データおよび前記受信手段が委任先のデータ処理装置から受信した結果データの少なくとも一方を、委任元のデータ処理装置に送信する
データ処理装置。
Regarding each of a plurality of data processing devices including its own device connected to a communication network, the type of data processing that can be accepted by the data processing device, the type of data that can be used by the data processing device, and the data processing device Storage means for storing performance data indicating the cost required for the type of data processing for each type of data processing that can be accepted by
Processing means capable of performing one or more types of data processing;
Receiving means for receiving delegation data indicating delegation of data processing from a data processing device that is a delegation source of data processing;
A dividing unit that divides data processing delegated by the delegation data received by the receiving unit into a plurality of data processes;
For each of the plurality of data processes divided by the dividing means, it is determined whether to execute the data processing on its own device or to be delegated to a data processing device other than its own device based on the performance data. A determination means for determining a data processing device to which the data processing is delegated;
Transmission means for transmitting delegation data indicating delegation of the data processing to the data processing apparatus of the delegation destination determined by the decision means in relation to the data processing decided by the decision means to be delegated to a data processing apparatus other than the own apparatus; Prepared,
The processing means executes data processing determined by the determining means to be executed by the own device,
The receiving means receives result data indicating a result of data processing transmitted from the data processing apparatus of the delegation destination as a response to the delegation data transmitted by the transmission means;
The transmission means, as a response to the delegation data received by the reception means, is at least one of result data indicating a result of data processing executed by the processing means and result data received by the reception means from a data processing apparatus as a delegation destination Is transmitted to the data processing device of the delegation source.
前記処理手段がデータ処理に要したコストに基づき、前記記憶手段に記憶されている自装置に関する前記パフォーマンスデータを変更し、前記送信手段が委任先のデータ処理装置に委任データを送信した後に当該委任データに対する応答として前記受信手段が結果データを受信するまでに前記通信ネットワーク及び前記複数のデータ処理装置の少なくとも1つが要したコストに基づき、前記記憶手段に記憶されている当該委任先のデータ処理装置に関する前記パフォーマンスデータを変更する変更手段
を備える請求項1に記載のデータ処理装置。
Based on the cost required for the data processing by the processing means, the performance data relating to the own device stored in the storage means is changed, and the delegation after the transmission means transmits the delegation data to the data processing apparatus of the delegation destination Based on the cost required by at least one of the communication network and the plurality of data processing devices until the reception unit receives the result data as a response to the data, the data processing device of the delegation destination stored in the storage unit The data processing apparatus according to claim 1, further comprising: a changing unit that changes the performance data relating to the data.
前記決定手段は、或る種類のデータ処理に関し、前記パフォーマンスデータに基づき、当該或る種類のデータ処理が受任可能であるか否かが不明なデータ処理装置の有無を判定し、当該或る種類のデータ処理が受任可能であるか否かが不明なデータ処理装置が有る場合、当該或る種類のデータ処理が受任可能であるか否かが不明なデータ処理装置を当該或る種類のデータ処理の委任先のデータ処理装置として決定する
請求項1または2に記載のデータ処理装置。
The determining means determines whether or not there is a data processing device that is uncertain whether or not the certain type of data processing is acceptable based on the performance data with respect to the certain type of data processing. If there is a data processing device in which it is unknown whether or not the data processing can be accepted, the data processing device in which it is unknown whether or not the certain type of data processing can be accepted The data processing device according to claim 1, wherein the data processing device is determined as a data processing device to be delegated.
前記受信手段は、前記通信ネットワークを介してデータ通信が可能なデータ処理装置の各々から、当該データ処理装置が前記通信ネットワークを介して通信が可能なデータ処理装置の各々に関する前記パフォーマンスデータを受信し、
前記記憶手段は、前記受信手段が受信した前記パフォーマンスデータを記憶する
請求項1乃至3のいずれか1項に記載のデータ処理装置。
The receiving means receives, from each of data processing devices capable of data communication via the communication network, the performance data relating to each of the data processing devices capable of communication via the communication network. ,
The data processing device according to any one of claims 1 to 3, wherein the storage unit stores the performance data received by the reception unit.
通信ネットワークに接続された複数のデータ処理装置の各々が、自装置を含む前記複数のデータ処理装置の各々に関し、当該データ処理装置が受任可能なデータ処理の種類と、当該データ処理装置が利用可能なデータの種類と、当該データ処理装置が受任可能なデータ処理の種類の各々に関し当該種類のデータ処理に要するコストとを示すパフォーマンスデータを記憶するステップと、
前記複数のデータ処理装置の中のいずれかのデータ処理装置が、データ処理の委任元の装置からデータ処理の委任を示す委任データを受信するステップと、
前記委任データを受信したデータ処理装置が、前記委任データにより委任されるデータ処理を複数のデータ処理に分割するステップと、
前記委任データを受信したデータ処理装置が、前記分割するステップにおいて分割した複数のデータ処理の各々に関し、前記記憶するステップにおいて記憶している前記パフォーマンスデータに基づき、当該データ処理を自装置で実行するか自装置以外のデータ処理装置に委任するかを決定し、当該データ処理を他のデータ処理装置に委任すると決定した場合、当該データ処理の委任先のデータ処理装置を決定するステップと、
前記決定するステップにおいて自装置で実行すると決定したデータ処理が有れば当該データ処理を実行するステップと、
前記決定するステップにおいて自装置以外のデータ処理装置に委任すると決定したデータ処理が有れば当該データ処理の委任を示す委任データを決定した委任先のデータ処理装置に送信するステップと、
前記委任データを送信するステップにおいて送信した委任データに対する応答として委任先のデータ処理装置から送信されてくるデータ処理の結果を示す結果データを受信するステップと、
前記委任データを受信するステップにおいて受信した委任データに対する応答として、前記実行するステップにおいて実行したデータ処理の結果を示す結果データおよび前記結果データを受信するステップにおいて委任先のデータ処理装置から受信した結果データの少なくとも一方を、前記委任元の装置に送信するステップと
を備えるデータ処理方法。
Each of the plurality of data processing devices connected to the communication network can use the type of data processing that can be accepted by the data processing device and the data processing device with respect to each of the plurality of data processing devices including the own device. Storing performance data indicating the type of data and the cost required for the type of data processing for each type of data processing that can be accepted by the data processing device;
Any one of the plurality of data processing devices receives delegation data indicating delegation of data processing from a device delegating data processing; and
The data processing apparatus that has received the delegation data divides the data process delegated by the delegation data into a plurality of data processes;
The data processing device that has received the delegation data executes the data processing on its own device based on the performance data stored in the storing step for each of the plurality of data processing divided in the dividing step. Determining whether or not to delegate to a data processing device other than its own device, and deciding to delegate the data processing to another data processing device, determining a data processing device to which the data processing is delegated; and
If there is data processing determined to be executed by the own device in the step of determining, the step of executing the data processing;
If there is data processing that is determined to be delegated to a data processing device other than its own device in the step of determining, the step of transmitting the delegation data indicating the delegation of the data processing to the delegation destination data processing device;
Receiving result data indicating a result of data processing transmitted from the data processing apparatus of the delegation destination as a response to the delegation data transmitted in the step of transmitting the delegation data;
As a response to the delegation data received in the step of receiving the delegation data, the result data indicating the result of the data processing executed in the step of executing and the result received from the delegation destination data processing device in the step of receiving the result data Transmitting at least one of the data to the delegation source device.
通信ネットワークを介して他の装置との間でデータ通信を行う通信手段を備えるコンピュータに、
自装置および前記通信ネットワークに接続された複数のデータ処理装置の各々に関し、当該装置が受任可能なデータ処理の種類と、当該装置が利用可能なデータの種類と、当該装置が受任可能なデータ処理の種類の各々に関し当該種類のデータ処理に要するコストとを示すパフォーマンスデータを記憶する処理と、
データ処理の委任元の装置からデータ処理の委任を示す委任データを受信する処理と、
前記委任データにより委任されるデータ処理を複数のデータ処理に分割する処理と、
前記分割する処理において分割した複数のデータ処理の各々に関し、前記パフォーマンスデータに基づき、当該データ処理を自装置で実行するか前記複数のデータ処理装置のいずれかに委任するかを決定し、当該データ処理を前記複数のデータ処理装置のいずれかに委任すると決定した場合、当該データ処理の委任先のデータ処理装置を決定する処理と、
前記決定する処理において自装置で実行すると決定したデータ処理が有れば当該データ処理を実行する処理と、
前記決定する処理において前記複数のデータ処理装置のいずれかに委任すると決定したデータ処理が有れば当該データ処理の委任を示す委任データを前記決定する処理において決定した委任先のデータ処理装置に送信する処理と、
前記委任データを送信する処理において送信した委任データに対する応答として委任先のデータ処理装置から送信されてくるデータ処理の結果を示す結果データを受信する処理と、
前記委任データを受信する処理において受信した委任データに対する応答として、前記実行する処理において実行したデータ処理の結果を示す結果データおよび前記結果データを受信する処理において委任先のデータ処理装置から受信した結果データの少なくとも一方を、前記委任元の装置に送信する処理と
を実行させるためのプログラム。
In a computer provided with communication means for performing data communication with other devices via a communication network,
For each of a plurality of data processing devices connected to the own device and the communication network, the type of data processing that the device can accept, the type of data that the device can use, and the data processing that the device can accept A process for storing performance data indicating the cost required for the type of data processing for each of the types;
A process of receiving delegation data indicating delegation of data processing from a device that is a delegation of data processing;
A process of dividing data processing delegated by the delegation data into a plurality of data processes;
For each of a plurality of data processes divided in the process to be divided, it is determined based on the performance data whether the data processing is executed by the own apparatus or delegated to any of the plurality of data processing apparatuses. When it is determined to delegate processing to any of the plurality of data processing devices, processing to determine a data processing device to which the data processing is delegated;
If there is data processing determined to be executed by the own device in the determination processing, processing for executing the data processing;
If there is data processing determined to be delegated to any of the plurality of data processing devices in the determining process, the delegation data indicating the delegation of the data processing is transmitted to the data processing device of the delegation destination determined in the determining process Processing to
A process of receiving result data indicating a result of data processing transmitted from the data processing apparatus of the delegation destination as a response to the delegation data transmitted in the process of transmitting the delegation data;
As a response to the delegation data received in the process of receiving the delegation data, the result data indicating the result of the data process executed in the process to be executed and the result received from the delegation destination data processing apparatus in the process of receiving the result data A program for causing at least one of data to be transmitted to the delegation source device.
通信ネットワークを介して他の装置との間でデータ通信を行う通信手段を備えるコンピュータに、
自装置および前記通信ネットワークに接続された複数のデータ処理装置の各々に関し、当該装置が受任可能なデータ処理の種類と、当該装置が利用可能なデータの種類と、当該装置が受任可能なデータ処理の種類の各々に関し当該種類のデータ処理に要するコストとを示すパフォーマンスデータを記憶する処理と、
データ処理の委任元の装置からデータ処理の委任を示す委任データを受信する処理と、
前記委任データにより委任されるデータ処理を複数のデータ処理に分割する処理と、
前記分割する処理において分割した複数のデータ処理の各々に関し、前記パフォーマンスデータに基づき、当該データ処理を自装置で実行するか前記複数のデータ処理装置のいずれかに委任するかを決定し、当該データ処理を前記複数のデータ処理装置のいずれかに委任すると決定した場合、当該データ処理の委任先のデータ処理装置を決定する処理と、
前記決定する処理において自装置で実行すると決定したデータ処理が有れば当該データ処理を実行する処理と、
前記決定する処理において前記複数のデータ処理装置のいずれかに委任すると決定したデータ処理が有れば当該データ処理の委任を示す委任データを前記決定する処理において決定した委任先のデータ処理装置に送信する処理と、
前記委任データを送信する処理において送信した委任データに対する応答として委任先のデータ処理装置から送信されてくるデータ処理の結果を示す結果データを受信する処理と、
前記委任データを受信する処理において受信した委任データに対する応答として、前記実行する処理において実行したデータ処理の結果を示す結果データおよび前記結果データを受信する処理において委任先のデータ処理装置から受信した結果データの少なくとも一方を、前記委任元の装置に送信する処理と
を実行させるためのプログラムを前記コンピュータにより読み取り可能かつ持続的に記憶する記録媒体。
In a computer provided with communication means for performing data communication with other devices via a communication network,
For each of a plurality of data processing devices connected to the own device and the communication network, the type of data processing that the device can accept, the type of data that the device can use, and the data processing that the device can accept A process for storing performance data indicating the cost required for the type of data processing for each of the types;
A process of receiving delegation data indicating delegation of data processing from a device that is a delegation of data processing;
A process of dividing data processing delegated by the delegation data into a plurality of data processes;
For each of a plurality of data processes divided in the process to be divided, it is determined based on the performance data whether the data processing is executed by the own apparatus or delegated to any of the plurality of data processing apparatuses. When it is determined to delegate processing to any of the plurality of data processing devices, processing to determine a data processing device to which the data processing is delegated;
If there is data processing determined to be executed by the own device in the determination processing, processing for executing the data processing;
If there is data processing determined to be delegated to any of the plurality of data processing devices in the determining process, the delegation data indicating the delegation of the data processing is transmitted to the data processing device of the delegation destination determined in the determining process Processing to
A process of receiving result data indicating a result of data processing transmitted from the data processing apparatus of the delegation destination as a response to the delegation data transmitted in the process of transmitting the delegation data;
As a response to the delegation data received in the process of receiving the delegation data, the result data indicating the result of the data process executed in the process to be executed and the result received from the delegation destination data processing apparatus in the process of receiving the result data A recording medium that stores the program for causing the computer to execute the process for transmitting at least one of the data to the delegation source device in a continuous manner.
JP2016064771A 2016-03-28 2016-03-28 Automatic load balancing information processing system Active JP6742777B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016064771A JP6742777B2 (en) 2016-03-28 2016-03-28 Automatic load balancing information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016064771A JP6742777B2 (en) 2016-03-28 2016-03-28 Automatic load balancing information processing system

Publications (2)

Publication Number Publication Date
JP2017182221A true JP2017182221A (en) 2017-10-05
JP6742777B2 JP6742777B2 (en) 2020-08-19

Family

ID=60007374

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016064771A Active JP6742777B2 (en) 2016-03-28 2016-03-28 Automatic load balancing information processing system

Country Status (1)

Country Link
JP (1) JP6742777B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108170493A (en) * 2017-12-27 2018-06-15 广州安食通信息科技有限公司 A kind of loading method of system module, system and device
EP3540724A1 (en) * 2018-03-16 2019-09-18 Ricoh Company, Ltd. Information synchronization system, method of synchronizing setting information and information processing apparatus
WO2021132579A1 (en) * 2019-12-27 2021-07-01 京セラ株式会社 Power management system and power management method
WO2021132583A1 (en) * 2019-12-27 2021-07-01 京セラ株式会社 Power management system and power management method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08137697A (en) * 1994-11-15 1996-05-31 Kobe Steel Ltd Automonous distributed system
JP2005208922A (en) * 2004-01-22 2005-08-04 Nippon Telegr & Teleph Corp <Ntt> Job assignment method for grid system, grid mediation apparatus, and resource computer
JP2011203867A (en) * 2010-03-24 2011-10-13 Olympus Corp Distributed controller, distributed processing system, and distributed processing method
JP2013182509A (en) * 2012-03-02 2013-09-12 Nec Corp Virtualization system, load distribution device, load distribution method and load distribution program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08137697A (en) * 1994-11-15 1996-05-31 Kobe Steel Ltd Automonous distributed system
JP2005208922A (en) * 2004-01-22 2005-08-04 Nippon Telegr & Teleph Corp <Ntt> Job assignment method for grid system, grid mediation apparatus, and resource computer
JP2011203867A (en) * 2010-03-24 2011-10-13 Olympus Corp Distributed controller, distributed processing system, and distributed processing method
JP2013182509A (en) * 2012-03-02 2013-09-12 Nec Corp Virtualization system, load distribution device, load distribution method and load distribution program

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108170493A (en) * 2017-12-27 2018-06-15 广州安食通信息科技有限公司 A kind of loading method of system module, system and device
CN108170493B (en) * 2017-12-27 2021-01-26 广州安食通信息科技有限公司 System module loading method, system and device
EP3540724A1 (en) * 2018-03-16 2019-09-18 Ricoh Company, Ltd. Information synchronization system, method of synchronizing setting information and information processing apparatus
CN110278239A (en) * 2018-03-16 2019-09-24 株式会社理光 Set information synchronization system, synchronous method, information processing unit
WO2021132579A1 (en) * 2019-12-27 2021-07-01 京セラ株式会社 Power management system and power management method
WO2021132583A1 (en) * 2019-12-27 2021-07-01 京セラ株式会社 Power management system and power management method
JP2021108510A (en) * 2019-12-27 2021-07-29 京セラ株式会社 Power management system and power management method
JP2021108508A (en) * 2019-12-27 2021-07-29 京セラ株式会社 Power management system and power management method
JP6992041B2 (en) 2019-12-27 2022-01-13 京セラ株式会社 Power management system and power management method
JP6995825B2 (en) 2019-12-27 2022-01-17 京セラ株式会社 Power management system and power management method
EP4084278A4 (en) * 2019-12-27 2024-02-21 Kyocera Corp Power management system and power management method

Also Published As

Publication number Publication date
JP6742777B2 (en) 2020-08-19

Similar Documents

Publication Publication Date Title
US10484464B2 (en) Connection control device, connection control system, and non-transitory computer readable medium
US20160203024A1 (en) Apparatus and method for allocating resources of distributed data processing system in consideration of virtualization platform
JP2017182221A (en) Automatic load distribution information processing system
JP6558374B2 (en) Scale number estimation apparatus, scale number management system, scale number estimation method, scale number management method, and computer program
JP2006277458A (en) Resource allocation management device, and resource allocation method
CN112333249B (en) Business service system and method
WO2018061825A1 (en) Distributed processing system, distributed processing method, and recording medium
CN105703927A (en) Resource allocation method, network device and network system
JPWO2018123030A1 (en) Priority control method and data processing system
JP2018148477A (en) Selection device, device selection method and program
WO2016084327A1 (en) Resource prediction device, resource prediction method, resource prediction program and distributed processing system
CN108574719B (en) Cloud host creation method and device
JP6623932B2 (en) Delivery schedule creation program, delivery schedule creation method, and delivery schedule creation device
JP4743904B2 (en) Resource over-distribution prevention system
CN112860422B (en) Method, apparatus and computer program product for job processing
KR101146742B1 (en) METHOD OF DISTRIBUTED SESSION MANAGEMENT IN SaaS AND SESSION MANAGEMENT SYSTEM THEROF
JP6127754B2 (en) Program, exclusive control request distribution method and system
JP2021157340A (en) Data linkage system and API platform
JP2005208923A (en) Method for calculating settlement information about grid system, grid mediation device, and grid mediation program
KR20210074626A (en) Task offloading method in fog networks and design method for fog networks architecture
CN104796570A (en) Communication control method in image forming system, and image forming system
JP2015145112A (en) Image formation system, image formation device, load distribution method and program
JP6554011B2 (en) Timeout time setting device and timeout time setting method
JP7022173B2 (en) Computing service management equipment, methods, and programs
US9680925B2 (en) Methods and apparatus to route message traffic using tiered affinity-based message routing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190326

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200128

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200327

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200528

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200729

R150 Certificate of patent or registration of utility model

Ref document number: 6742777

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150