JP6742777B2 - 自動負荷分散情報処理システム - Google Patents

自動負荷分散情報処理システム Download PDF

Info

Publication number
JP6742777B2
JP6742777B2 JP2016064771A JP2016064771A JP6742777B2 JP 6742777 B2 JP6742777 B2 JP 6742777B2 JP 2016064771 A JP2016064771 A JP 2016064771A JP 2016064771 A JP2016064771 A JP 2016064771A JP 6742777 B2 JP6742777 B2 JP 6742777B2
Authority
JP
Japan
Prior art keywords
data processing
data
delegation
delegated
processing device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016064771A
Other languages
English (en)
Other versions
JP2017182221A (ja
Inventor
巧一 柴田
巧一 柴田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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/ja
Publication of JP2017182221A publication Critical patent/JP2017182221A/ja
Application granted granted Critical
Publication of JP6742777B2 publication Critical patent/JP6742777B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

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

Description

本発明は、複数のデータ処理装置を使って大量のデータを分散処理する技術に関し、より具体的には、当該分散処理における処理の分担を簡単に且つ効率良く決定する技術に関する。
今般、インターネットに代表される通信ネットワークが普及している。通信ネットワークには多数のセンサーが接続されている。それらのセンサーにより得られる多数のデータを収集、分析して、その結果を活用することが行われている。
多数のセンサーから多数のデータを収集しようとする場合、通常、センサーは計測等により生成したデータに対し処理を加えずに、データの収集元のデータ処理装置(以下、「中央データ処理装置」という)に送信する。中央データ処理装置は、センサーから送信されてくる未処理のデータに対する処理を集中的に行う。
上記のように中央データ処理装置が集中的にデータの処理を行う方式(以下、「集中処理方式」という)には、多数のセンサーの構成を簡単にすることができる、という利点がある。一方、集中処理方式には、中央データ処理装置にデータ処理の負荷が集中する、という欠点がある。また、集中処理方式には、センサーにより生成されるデータが画像(静止画または動画)を表すデータのようにデータ量の大きいデータである場合、通信トラフィックの増大および集中を招く、という欠点もある。
上述した集中処理方式の欠点を解消する方式として、データ処理を複数のデータ処理装置に分散させる方式(以下、「分散処理方式」という)が実用化されている。図7は、広く採用されている分散処理方式におけるデータ処理装置の構成を模式的に示した図である。広く採用されている分散処理方式においては、1つの主データ処理装置201がデータ処理を分割し、複数の従データ処理装置(図7における従データ処理装置202〜205)に分割したデータ処理の割り当てを行う。この分散処理方式においては、データ処理が複数の従データ処理装置(図7における従データ処理装置202〜205)の各々により実行されるため、データ処理の負荷集中が生じない。
図7に示した構成の分散処理方式においては、主データ処理装置201がデータ処理の割り当てを集中管理する。すなわち、データ処理の内容、収集するデータや従データ処理装置の通信ネットワークにおける位置、従データ処理装置の稼働状況(データ処理の負荷等)等を主データ処理装置201が常に監視し、それらが変化する毎にデータ処理の割り当てを変更する。以下、図7に示した構成の分散処理方式を「中央管理型分散処理方式」という。中央管理型分散処理方式には、複数の従データ処理装置により行われるデータ処理を最適化しやすい、という利点がある。
一方、中央管理型分散処理方式には、データ処理の内容、収集するデータや従データ処理装置の通信ネットワークにおける位置、従データ処理装置の稼働状況(データ処理の負荷等)等が頻繁に変化する場合、データ処理の割り当てに伴うデータ処理が複雑となり、主データ処理装置201に高いデータ処理能力が求められる、という欠点がある。すなわち、データの所在数や従データ処理装置の数等の増加し、データ処理の割り当て管理に要するデータ処理の負荷が主データ処理装置201のデータ処理能力を超えると、システム全体が機能不全に陥る。また、主データ処理装置201と通信ネットワークとの間のデータ通信に不具合が生じた場合も、システム全体が機能不全に陥る。
上記の中央管理型分散処理方式の欠点、すなわち、主データ処理装置201におけるデータ処理の割り当て管理の負荷を軽減する方法を提案する特許文献として、例えば特許文献1がある。特許文献1には、データ処理の割り当て管理を行う主データ処理装置を設けず、データ処理の依頼元のデータ処理装置が通信ネットワークにおける周囲のデータ処理装置に対しデータ処理の依頼をブロードキャストすることにより、データ処理を分担するデータ処理装置を決定する方式が提案されている。
特開平10−74146号公報
特許文献1に記載の方式によれば、データ処理の分担が簡易に決定される。しかしながら、特許文献1に記載の方式においては、データ処理全体の効率化が図られない。すなわち、特許文献1に記載の方式においては、必ずしもデータ処理に要するコスト(時間、データトラフィック、データ処理装置における処理負荷、データ通信料金等)が小さいデータ処理装置がデータ処理を分担するとは限らない。なお、本願において、データ処理に要するコストとは、データ処理に要する時間またはリソースの占有量を意味する。例えば、通信ネットワークの通信帯域やデータ処理装置におけるデータ処理能力はデータ処理に要するリソースの例であり、データ処理に要するデータトラフィック、データ処理装置の処理負荷等はデータ処理に要するコストの例である。
上記の事情に鑑み、本発明は、データ処理の集中を排した分散処理方式のデータ処理システムにおいて、複数のデータ処理装置により行われるデータ処理全体の効率化を実現する手段を提供することを目的とする。
本発明は、通信ネットワークに接続された自装置を含む複数のデータ処理装置の各々に関し、当該データ処理装置が受任可能な1以上のデータ処理の種類と、当該データ処理装置が利用可能な1以上のデータの種類とを示しさらに、当該1以上のデータ処理の種類と当該1以上のデータの種類との組み合わせのうち1以上の各々に関し、当該データ処理装置が当該組み合わせに係る種類のデータを用いて当該組み合わせに係る種類のデータ処理を実行した際に当該データ処理に要するコストを示すパフォーマンスデータを記憶する記憶手段と、1以上の種類のデータ処理を実行可能な処理手段と、データ処理の委任元のデータ処理装置から、委任される1以上のデータ処理の種類と、当該1以上のデータ処理の各々において用いられる1以上のデータの種類とを示す委任データを受信する受信手段と、前記受信手段が受信した前記委任データにより委任されるデータ処理が分割できる場合、前記委任データにより委任されるデータ処理を複数のデータ処理に分割する分割手段と、前記委任データにより委任されるデータ処理が分割できない場合は当該データ処理に関し、また、前記委任データにより委任されるデータ処理が分割できる場合は前記分割手段が分割した複数のデータ処理の各々に関し、前記パフォーマンスデータに基づき、当該データ処理を自装置で実行するか自装置以外のデータ処理装置に委任するかを決定し、当該データ処理を他のデータ処理装置に委任すると決定した場合、当該データ処理の委任先のデータ処理装置を決定する決定手段と、前記決定手段が自装置以外のデータ処理装置に委任すると決定したデータ処理に関し、当該データ処理の委任を示す委任データを、前記決定手段が決定した委任先のデータ処理装置に送信する送信手段とを備え、前記処理手段は、前記決定手段が自装置で実行すると決定したデータ処理を実行し、前記受信手段は、前記送信手段が送信した委任データに対する応答として委任先のデータ処理装置から送信されてくるデータ処理の結果を示す結果データを受信し、前記送信手段は、前記受信手段が受信した委任データに対する応答として、前記処理手段が実行したデータ処理の結果を示す結果データおよび前記受信手段が委任先のデータ処理装置から受信した結果データの少なくとも一方を、委任元のデータ処理装置に送信するデータ処理装置を第1の態様として提案する。
また、上記の第1の態様において、前記処理手段がデータ処理に要したコストに基づき、前記記憶手段に記憶されている自装置に関する前記パフォーマンスデータを変更し、前記送信手段が委任先のデータ処理装置に委任データを送信した後に当該委任データに対する応答として前記受信手段が結果データを受信するまでに前記通信ネットワーク及び前記複数のデータ処理装置の少なくとも1つが要したコストに基づき、前記記憶手段に記憶されている当該委任先のデータ処理装置に関する前記パフォーマンスデータを変更する変更手段を備える、という構成を第2の態様として提案する。
また、上記の第1または第2の態様において、前記決定手段は、或る種類のデータ処理に関し、前記パフォーマンスデータに基づき、当該或る種類のデータ処理が受任可能であるか否かが不明なデータ処理装置の有無を判定し、当該或る種類のデータ処理が受任可能であるか否かが不明なデータ処理装置が有る場合、当該或る種類のデータ処理が受任可能であるか否かが不明なデータ処理装置を当該或る種類のデータ処理の委任先のデータ処理装置として決定する、という構成を第3の態様として提案する。
また、上記の第1乃至第3のいずれかの態様において、前記受信手段は、前記通信ネットワークを介してデータ通信が可能なデータ処理装置の各々から、当該データ処理装置が前記通信ネットワークを介して通信が可能なデータ処理装置の各々に関する前記パフォーマンスデータを受信し、前記記憶手段は、前記受信手段が受信した前記パフォーマンスデータを記憶する、という構成を第4の態様として提案する。
また、本発明は、通信ネットワークに接続された複数のデータ処理装置の各々が、自装置を含む前記複数のデータ処理装置の各々に関し、当該データ処理装置が受任可能な1以上のデータ処理の種類と、当該データ処理装置が利用可能な1以上のデータの種類とを示しさらに、当該1以上のデータ処理の種類と当該1以上のデータの種類との組み合わせのうち1以上の各々に関し、当該データ処理装置が当該組み合わせに係る種類のデータを用いて当該組み合わせに係る種類のデータ処理を実行した際に当該データ処理に要するコストを示すパフォーマンスデータを記憶するステップと、前記複数のデータ処理装置の中のいずれかのデータ処理装置が、データ処理の委任元の装置から、委任される1以上のデータ処理の種類と、当該1以上のデータ処理の各々において用いられる1以上のデータの種類とを示す委任データを受信するステップと、前記委任データを受信したデータ処理装置が、前記委任データにより委任されるデータ処理が分割できる場合、前記委任データにより委任されるデータ処理を複数のデータ処理に分割するステップと、前記委任データを受信したデータ処理装置が、前記委任データにより委任されるデータ処理が分割できない場合は当該データ処理に関し、また、前記委任データにより委任されるデータ処理が分割できる場合は前記分割するステップにおいて分割した複数のデータ処理の各々に関し、前記記憶するステップにおいて記憶している前記パフォーマンスデータに基づき、当該データ処理を自装置で実行するか自装置以外のデータ処理装置に委任するかを決定し、当該データ処理を他のデータ処理装置に委任すると決定した場合、当該データ処理の委任先のデータ処理装置を決定するステップと、前記決定するステップにおいて自装置で実行すると決定したデータ処理が有れば当該データ処理を実行するステップと、前記決定するステップにおいて自装置以外のデータ処理装置に委任すると決定したデータ処理が有れば当該データ処理の委任を示す委任データを決定した委任先のデータ処理装置に送信するステップと、前記委任データを送信するステップにおいて送信した委任データに対する応答として委任先のデータ処理装置から送信されてくるデータ処理の結果を示す結果データを受信するステップと、前記委任データを受信するステップにおいて受信した委任データに対する応答として、前記実行するステップにおいて実行したデータ処理の結果を示す結果データおよび前記結果データを受信するステップにおいて委任先のデータ処理装置から受信した結果データの少なくとも一方を、前記委任元の装置に送信するステップとを備えるデータ処理方法を第5の態様として提案する。
また、本発明は、通信ネットワークを介して他の装置との間でデータ通信を行う通信手段を備えるコンピュータに、自装置および前記通信ネットワークに接続された複数のデータ処理装置の各々に関し、当該装置が受任可能な1以上のデータ処理の種類と、当該装置が利用可能な1以上のデータの種類とを示しさらに、当該1以上のデータ処理の種類と当該1以上のデータの種類との組み合わせのうち1以上の各々に関し、当該装置が当該組み合わせに係る種類のデータを用いて当該組み合わせに係る種類のデータ処理を実行した際に当該データ処理に要するコストを示すパフォーマンスデータを記憶する処理と、データ処理の委任元の装置から、委任される1以上のデータ処理の種類と、当該1以上のデータ処理の各々において用いられる1以上のデータの種類とを示す委任データを受信する処理と、前記委任データにより委任されるデータ処理が分割できる場合、前記委任データにより委任されるデータ処理を複数のデータ処理に分割する処理と、前記委任データにより委任されるデータ処理が分割できない場合は当該データ処理に関し、また、前記委任データにより委任されるデータ処理が分割できる場合は前記分割する処理において分割した複数のデータ処理の各々に関し、前記パフォーマンスデータに基づき、当該データ処理を自装置で実行するか前記複数のデータ処理装置のいずれかに委任するかを決定し、当該データ処理を前記複数のデータ処理装置のいずれかに委任すると決定した場合、当該データ処理の委任先のデータ処理装置を決定する処理と、前記決定する処理において自装置で実行すると決定したデータ処理が有れば当該データ処理を実行する処理と、前記決定する処理において前記複数のデータ処理装置のいずれかに委任すると決定したデータ処理が有れば当該データ処理の委任を示す委任データを前記決定する処理において決定した委任先のデータ処理装置に送信する処理と、前記委任データを送信する処理において送信した委任データに対する応答として委任先のデータ処理装置から送信されてくるデータ処理の結果を示す結果データを受信する処理と、前記委任データを受信する処理において受信した委任データに対する応答として、前記実行する処理において実行したデータ処理の結果を示す結果データおよび前記結果データを受信する処理において委任先のデータ処理装置から受信した結果データの少なくとも一方を、前記委任元の装置に送信する処理とを実行させるためのプログラムを第6の態様として提案する。
また、本発明は、通信ネットワークを介して他の装置との間でデータ通信を行う通信手段を備えるコンピュータに、自装置および前記通信ネットワークに接続された複数のデータ処理装置の各々に関し、当該装置が受任可能な1以上のデータ処理の種類と、当該装置が利用可能な1以上のデータの種類とを示しさらに、当該1以上のデータ処理の種類と当該1以上のデータの種類との組み合わせのうち1以上の各々に関し、当該装置が当該組み合わせに係る種類のデータを用いて当該組み合わせに係る種類のデータ処理を実行した際に当該データ処理に要するコストを示すパフォーマンスデータを記憶する処理と、データ処理の委任元の装置から、委任される1以上のデータ処理の種類と、当該1以上のデータ処理の各々において用いられる1以上のデータの種類とを示す委任データを受信する処理と、前記委任データにより委任されるデータ処理が分割できる場合、前記委任データにより委任されるデータ処理を複数のデータ処理に分割する処理と、前記委任データにより委任されるデータ処理が分割できない場合は当該データ処理に関し、また、前記委任データにより委任されるデータ処理が分割できる場合は前記分割する処理において分割した複数のデータ処理の各々に関し、前記パフォーマンスデータに基づき、当該データ処理を自装置で実行するか前記複数のデータ処理装置のいずれかに委任するかを決定し、当該データ処理を前記複数のデータ処理装置のいずれかに委任すると決定した場合、当該データ処理の委任先のデータ処理装置を決定する処理と、前記決定する処理において自装置で実行すると決定したデータ処理が有れば当該データ処理を実行する処理と、前記決定する処理において前記複数のデータ処理装置のいずれかに委任すると決定したデータ処理が有れば当該データ処理の委任を示す委任データを前記決定する処理において決定した委任先のデータ処理装置に送信する処理と、前記委任データを送信する処理において送信した委任データに対する応答として委任先のデータ処理装置から送信されてくるデータ処理の結果を示す結果データを受信する処理と、前記委任データを受信する処理において受信した委任データに対する応答として、前記実行する処理において実行したデータ処理の結果を示す結果データおよび前記結果データを受信する処理において委任先のデータ処理装置から受信した結果データの少なくとも一方を、前記委任元の装置に送信する処理とを実行させるためのプログラムを前記コンピュータにより読み取り可能かつ持続的に記憶する記録媒体を第7の態様として提案する。
本発明によれば、委任されたデータ処理が複数のデータ処理に分解され、複数のデータ処理装置の各々により分担されて実行される。その際、データ処理を委任されたデータ処理装置は、委任されたデータ処理に要するデータを利用可能であり、かつ、委任された種類のデータ処理をより低コストで実行できると推定されるデータ処理装置へ委任されたデータ処理の全てまたは一部を委任することができる。その結果、データ処理の分担を集中管理するデータ処理装置を要することなく、データ処理が複数のデータ処理装置により分散して実行されるとともに、データ処理全体の効率化が図られる。
一実施形態にかかるデータ処理システムの構成の一例を示した図である。 一実施形態にかかるデータ処理システムを構成するデータ処理装置の機能構成を示した図である。 一実施形態にかかるデータ処理装置において用いられるパフォーマンスデータの構成を例示した図である。 一実施形態にかかるデータ処理装置がデータ処理を実行すべきデータ処理装置を決定する方法を説明するための図である。 一実施形態にかかるデータ処理装置がデータ処理を実行すべきデータ処理装置を決定する方法を説明するための図である。 一実施形態にかかるデータ処理装置がデータ処理を実行すべきデータ処理装置を決定するための処理フローを例示した図である。 一実施形態にかかるデータ処理装置がデータ処理を実行すべきデータ処理装置を決定するための処理フローを例示した図である。 従来技術にかかる分散処理方式におけるデータ処理装置の構成を模式的に示した図である。
[実施形態]
以下に、本発明の一実施形態に係るデータ処理システム1を説明する。データ処理システム1は、通信ネットワークに接続された複数のデータ処理装置を備え、それらの複数のデータ処理装置のいずれかが委任元の装置から、取得される位置が限定されているデータ(以下、「位置依存データ」という)を用いたデータ処理の委任を受けた場合、当該委任されたデータ処理を複数のデータ処理装置で分担して実行する。データ処理システム1が備える複数のデータ処理装置は各々、自律的にデータ処理の分担を決定する。従って、データ処理システム1は、データ処理の分担を集中管理する仕組みを持たない。
図1は、データ処理システム1の構成の一例を示した図である。図1に例示のデータ処理システム1は、データ処理装置110、120、130、140、150、160の計6つのデータ処理装置を備える。データ処理システム1を構成するデータ処理装置の数は限定されない。また、データ処理システム1を構成するデータ処理装置は任意のタイミングでデータ処理システム1から離脱できる。また、新たなデータ処理装置が任意のタイミングでデータ処理システム1に参加できる。従って、データ処理システム1を構成するデータ処理装置の数は、通常、流動的に変化する。
データ処理システム1を構成する複数のデータ処理装置のいずれかが、データ処理の委任元の装置(例えば、エンドユーザが使用する端末装置等)から、位置依存データを用いたデータ処理の委任を受けると、委任を受け取ったデータ処理装置は、委任されたデータ処理を複数のデータ処理に分割し、分割した複数のデータ処理の各々に関し、そのデータ処理を自装置で処理すべきか、他のデータ処理装置に委任すべきか、また、他のデータ処理装置に委任すべきであればどのデータ処理装置に委任すべきか、を自装置および自装置以外のデータ処理装置のパフォーマンスに基づき決定する。ただし、本願において、データ処理装置のパフォーマンスとは、委任を受けることができるデータ処理の種類、委任を受けることができるデータ処理の種類の各々に応じたコストの大小を示す指標、および、利用可能な位置依存データの種類を意味する。
データ処理の委任を受けたデータ処理装置は、自装置で処理すべきである、と決定したデータ処理を自装置で実行する。また、データ処理の委任を受けたデータ処理装置は、自装置以外のデータ処理装置へ委任すべきである、と決定したデータ処理を委任先として決定したデータ処理装置に委任する。データ処理の委任を行った場合、委任を行ったデータ処理装置は、委任先のデータ処理装置から、委任したデータ処理の結果を示す結果データを受信する。委任を行ったデータ処理装置は、自装置で実行したデータ処理の結果を示す結果データ、および委任先のデータ処理装置から受信した結果データの少なくとも一方を、委任元の装置へ送信する。
上述した、委任元の装置からデータ処理の委任を受けたデータ処理装置が行う処理は、当該データ処理装置からデータ処理の委任を受けたデータ処理装置においても同様に実行される。データ処理システム1においては、委任元の装置または自装置以外のデータ処理装置からデータ処理の委任を受けると、委任されたデータ処理の分割と、分割したデータ処理の各々の自装置における実行または他のデータ処理装置への委任と、委任したデータ処理の結果を示す結果データの委任元の装置への送信とが再帰的に行われる。その結果、データ処理の分担を管理するデータ処理装置を要することなく、データ処理が全体として効率的に実行されるように、複数のデータ処理装置の間で分担される。
データ処理の委任を受けたデータ処理装置が分割した複数のデータ処理の各々を行うデータ処理装置を決定する際に用いられる各データ処理装置のパフォーマンスを示すデータ(以下、「パフォーマンスデータ」という)は、過去に実行されたデータ処理において要したコストおよび過去に実行されたデータ処理において利用された位置依存データの種類に基づき生成されたデータであり、各データ処理装置に記憶されている。各データ処理装置は、新たなデータ処理の実行、または新たなデータ処理の委任およびその結果の受領を行う毎に、そのデータ処理に要したコストに基づき、自装置に記憶しているパフォーマンスデータを更新する。従って、データ処理システム1は、通信ネットワークにおける通信状態の変化、データ処理システム1に参加しているデータ処理装置の増減、通信ネットワークやデータ処理装置における障害の発生等にも柔軟に対応し、効率的にデータ処理を行うことができる。
なお、データ処理システム1を構成するデータ処理装置の各々が行う処理は、主に、上述したように、委任されたデータ処理の分割と、分割したデータ処理の各々の自装置における実行または他のデータ処理装置への委任と、委任したデータ処理の結果を示す結果データの収集および委任元の装置への送信、といった比較的単純な処理である。このように、データ処理装置の各々が比較的単純な処理は行うことにより、データ処理システム1が全体としてデータ処理を効率的に行う点にデータ処理システム1の特徴の一つがある。
データ処理システム1を構成するデータ処理装置の各々は、通信ネットワークを介して他の装置との間でデータ通信を行う通信手段を備える一般的なコンピュータである。すなわち、データ処理システム1を構成するデータ処理装置の各々は、少なくとも、プログラムを示すプログラムデータを含む各種のデータを記憶するメモリと、メモリに記憶されているプログラムデータが示すプログラムに従い各種のデータ処理を行うプロセッサと、通信ネットワークを介して他の装置との間でデータ通信を行うためのインタフェースである通信インタフェースを備える。
また、データ処理システム1を構成するデータ処理装置の少なくとも一部は、位置依存データを生成するセンサーから当該センサーが生成した位置依存データを受け取るためのインタフェースである入力インタフェースを備える。なお、通信ネットワークに接続されているセンサーが生成する位置依存データを受け取るデータ処理装置においては、通信インタフェースが入力インタフェースを兼ねる。
図1を用いて、データ処理システム1の動作を説明する。図1において、矢印は通信ネットワークを介してデータ処理装置の間で送受信されるデータの流れを示している。
図1に例示のケースにおいては、まず、データ処理装置110が図示せぬ委任元の装置からデータ処理の委任を示す委任データ114を受信する。委任データ114は、例として、F1(F2(F4(D1),F5(D2)),F3(F6(D3)))で表されるデータ処理の委任を示す。なお、関数F#()は#で識別される種類のデータ処理を示し、データD#は#で識別される種類の位置依存データを示す。なお、委任されるデータ処理には、取得される位置が限定されないデータ(例えば、現在時刻を示す時刻データ等。以下、「位置非依存データ」という)を用いたデータ処理が含まれてもよい。以下、データd#は、#で識別される種類の位置非依存データを示す。
データ処理装置110は、委任データ114が示すデータ処理を、データ処理F1()と、データ処理F2(F4(D1),F5(D2))と、データ処理F3(F6(D3))とに分割する。なお、データ処理F2(F4(D1),F5(D2))とデータ処理F3(F6(D3))は各々、データ処理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を送信する。
データ処理装置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を送信する。
データ処理装置140は、委任データ126が示すデータ処理F4(D1)を、それ以上の分割ができない処理であると判定する。そこで、データ処理装置140はデータ処理の分割は行わず、このデータ処理F4(D1)を、データ処理装置140に記憶されているパフォーマンスデータに基づく決定方法(後述)に従い、自装置(データ処理装置140)により実行すべきデータ処理であると決定する。そこで、データ処理装置140はデータ処理F4(D1)を実行し、データ処理の結果F4(D1)を示す結果データ127を、委任データ126に対する応答として、データ処理装置120に送信する。
データ処理装置150は、委任データ128が示すデータ処理F5(D2)を、それ以上の分割ができない処理であると判定する。そこで、データ処理装置150はデータ処理の分割は行わず、このデータ処理F5(D2)を、データ処理装置150に記憶されているパフォーマンスデータに基づく決定方法(後述)に従い、自装置(データ処理装置150)により実行すべきデータ処理であると決定する。そこで、データ処理装置150はデータ処理F5(D2)を実行し、データ処理の結果F5(D2)を示す結果データ129を、委任データ128に対する応答として、データ処理装置120に送信する。
データ処理装置120は、結果データ127が示す結果F4(D1)と、結果データ129が示す結果F5(D2)を用いて、自装置が実行すると決定したデータ処理F2()(すなわち、データ処理F2(F4(D1),F5(D2)))を実行し、データ処理の結果F2(F4(D1),F5(D2))を示す結果データ117を、委任データ116に対する応答として、データ処理装置110に送信する。
一方、データ処理装置130は、データ処理装置110から委任データ118を受信すると、委任データ118が示すデータ処理F3(F6(D3))をデータ処理F3()と、データ処理F6(D3)とに分割する。続いて、データ処理装置130は、データ処理装置130に記憶されているパフォーマンスデータに基づく決定方法(後述)に従い、データ処理F3()は自装置(データ処理装置130)により実行すべきデータ処理であると決定し、データ処理F6(D3)はデータ処理装置160に委任すべきデータ処理であると決定する。データ処理装置130は、この決定に従い、データ処理装置160に対し、データ処理F6(D3)の委任を示す委任データ136を送信する。
データ処理装置160は、委任データ136が示すデータ処理F6(D3)を、それ以上の分割ができない処理であると判定する。そこで、データ処理装置160はデータ処理の分割は行わず、このデータ処理F6(D3)を、データ処理装置160に記憶されているパフォーマンスデータに基づく決定方法(後述)に従い、自装置(データ処理装置160)により実行すべきデータ処理であると決定する。そこで、データ処理装置160はデータ処理F6(D3)を実行し、データ処理の結果F6(D3)を示す結果データ137を、委任データ136に対する応答として、データ処理装置130に送信する。
データ処理装置130は、結果データ137が示す結果F6(D3)を用いて、自装置が実行すると決定したデータ処理F3()(すなわち、F3(F6(D3)))を実行し、データ処理の結果F3(F6(D3))を示す結果データ119を、委任データ118に対する応答として、データ処理装置110に送信する。
データ処理装置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に対する応答として、図示せぬ委任元の装置に送信する。
以上が、データ処理システム1のデータ処理システム1の動作の説明である。
図2は、データ処理システム1を構成するデータ処理装置の機能構成を示した図である。すなわち、上述した通信ネットワークを介して他の装置との間でデータ通信を行う通信手段を備える一般的なコンピュータは、メモリに記憶されている本実施形態に係るプログラムに従うデータ処理を実行することにより、図2に示す構成部を備える装置として機能する。
データ処理システム1を構成するデータ処理装置の各々は、各種データを記憶する記憶手段301と、委任元の装置から委任データを受信し、また、委任先のデータ処理装置から結果データを受信する受信手段302と、委任データが示すデータ処理を複数のデータ処理に分割する分割手段303を備える。
また、データ処理システム1を構成するデータ処理装置の各々は、分割手段303が分割した複数のデータ処理の各々に関し、記憶手段301に記憶されるパフォーマンスデータ(後述)に基づき、当該データ処理を自装置で実行するか自装置以外のデータ処理装置に委任するかを決定し、当該データ処理を他のデータ処理装置に委任すると決定した場合、当該データ処理の委任先のデータ処理装置を決定する決定手段304を備える。
また、データ処理システム1を構成するデータ処理装置の各々は、1以上の種類のデータ処理を実行可能であり、決定手段304が自装置で実行すると決定したデータ処理を実行する処理手段305を備える。
また、データ処理システム1を構成するデータ処理装置の各々は、決定手段304が自装置以外のデータ処理装置に委任すると決定したデータ処理に関し、当該データ処理の委任を示す委任データを、決定手段304が決定した委任先のデータ処理装置に送信し、また、受信手段302が受信した委任データに対する応答として、処理手段305が実行したデータ処理の結果を示す結果データおよび受信手段302が委任先のデータ処理装置から受信した結果データの少なくとも一方を、委任元のデータ処理装置に送信する送信手段306を備える。
また、データ処理システム1を構成するデータ処理装置の各々は、処理手段305がデータ処理に要したコストに基づき、記憶手段301に記憶されている自装置に関するパフォーマンスデータ(後述)を変更し、また、送信手段306が委任先のデータ処理装置に委任データを送信した後に当該委任データに対する応答として受信手段302が結果データを受信するまでに通信ネットワーク及びデータ処理システム1を構成する複数のデータ処理装置の少なくとも1つが要したコストに基づき、記憶手段301に記憶されている当該委任先のデータ処理装置に関するパフォーマンスデータ(後述)を変更する変更手段307を備える。
また、データ処理システム1を構成するデータ処理装置の各々は、当該データ処理装置に接続されているセンサーにより生成された位置依存データや、自装置内で生成される時刻データ等の位置非依存データを取得する取得手段308を備える。なお、一部のデータ処理装置の取得手段308は、位置非依存データを取得するが位置依存データは取得しなくてもよい。
図3は、各データ処理装置の記憶手段301に記憶されているパフォーマンスデータの構成を例示した図である。なお、データ処理システム1を構成する複数のデータ処理装置の各々が記憶するパフォーマンスデータの内容は互いに異なる。
パフォーマンスデータは、自装置を含む複数のデータ処理装置の各々に関し、当該データ処理装置が受任可能なデータ処理の種類と、当該データ処理装置が利用可能なデータの種類と、当該データ処理装置が受任可能なデータ処理の種類の各々に関し当該種類のデータ処理に要するコストとを示すデータである。
図3に例示のパフォーマンスデータは、「データ」欄に示される種類の位置依存データを用いた、「処理」欄に示される種類のデータ処理が、「装置」欄に示されるデータ処理装置で過去に実行された際のコストを「コスト」欄に示している。ただし、「データ」欄が空欄であるデータレコードの「コスト」欄のデータは、位置非依存データを用いた、「処理」欄に示される種類のデータ処理が、「装置」欄に示されるデータ処理装置で過去に実行された際のコストを示している。
パフォーマンスデータの「コスト」欄に示されるデータは、例えば、自装置が実行したデータ処理に関しては当該実行に要した時間、他のデータ処理装置に委任したデータ処理に関しては委任データの送信から結果データの受信までに要した時間、データ処理に要した処理負荷(例えば、プロセッサ占有率の平均値等)、データ処理に伴い送受信されたデータ量(すなわちトラフィック量)等を用いて、所定の算出式に従い算出されるデータである。なお、データ処理に要した処理負荷や、ータ処理に伴い送受信されたデータ量等の情報は、例えば、結果データにメタデータとして付加されることで、委任先のデータ処理装置から委任元のデータ処理装置へと通知される。
以下に、図4及び図5を用いて、データ処理装置の決定手段304がパフォーマンスデータ(図3)に基づきデータ処理を実行すべきデータ処理装置を決定する方法を説明する。図4は、データ処理装置420分割手段303により分割したデータ処理の各々の委任先を決定しようとしている状態を示す。図4の状態において、データ処理装置420の分割手段303は、委任元の装置401から受信した委任データが示すデータ処理を親データ処理F0()、子データ処理F1()、および子データ処理F2()に分割している。
なお、子データ処理とは、親データ処理の変数を結果として生成するデータ処理を意味する。
親データ処理F0()は、子データ処理F1()の結果と、位置依存データD1と、子データ処理F2()の結果とを用いる。
親データ処理F1()は、子データ処理F3()の結果と、子データ処理F4()の結果を用いる。また、親データ処理F3()は位置依存データD3を用いる。この場合、データ処理装置420の決定手段304は、子データ処理F1()の依頼先の決定において、データ処理F1()を受任可能なデータ処理装置であり、かつ、位置依存データD3を利用可能なデータ処理装置のうち、コストが最も小さいデータ処理装置を、パフォーマンスデータを参照して特定する。
データ処理装置420は、上記のように特定した最も低コストのデータ処理装置421を子データ処理F1()の委任先のデータ処理装置として決定する。なお、この場合、データ処理装置421は位置依存データD3をセンサーから直接は取得できないが、データ処理装置422に位置依存データD3を用いるデータ処理を委任するか、もしくは、データ処理装置422から位置依存データD3を受信することで、位置依存データD3を利用することができる。従って、データ処理装置421は位置依存データD3を用いたデータ処理の委任先となり得る。
データ処理装置420の分割手段303により分割されたもう一つの子データ処理である親データ処理F2()は、位置依存データD2と、子データ処理F5()の結果を用いる。また、親データ処理F5()は、位置依存データD4を用いる。この場合、データ処理装置420の決定手段304は、子データ処理F2()の依頼先の決定において、データ処理F2()を受任可能なデータ処理装置であり、かつ、位置依存データD2を利用可能なデータ処理装置のうち、コストが最も小さいデータ処理装置を、パフォーマンスデータを参照して特定する。
なお、この実施形態においては、委任するデータ処理が複数の位置依存データを利用する場合、それらのうち最初に用いる位置依存データ(この場合、位置依存データD4よりも先に、位置依存データD2が用いられるため、位置依存データD2)が委任先のデータ処理装置の決定において考慮される。ただし、例えば、それらの位置依存データの両方が委任先のデータ処理装置の決定において考慮されてもよい。
データ処理装置420は、上記のように特定した最も低コストのデータ処理装置424をデータ処理F2()の委任先のデータ処理装置として決定する。
図5は、データ処理装置421において、データ処理装置420から委任されたデータ処理を分割手段303が親データ処理F1()、子データ処理F3()、および子データ処理F4()に分割し、決定手段304が子データ処理F3()および子データ処理F4()の委任先のデータ処理装置を決定しようとしており、また、データ処理装置424において、データ処理装置420から委任されたデータ処理を分割手段303が親データ処理F2()、子データ処理F5()に分割し、決定手段304が子データ処理F5()の委任先のデータ処理装置を決定しようとしている状態を示している。
データ処理装置421の決定手段304は、子データ処理F3()の委任先のデータ処理装置として、データ処理F3()を受任可能なデータ処理装置であり、かつ、位置依存データD3を利用可能なデータ処理装置のうち、コストが最も小さいデータ処理装置を、パフォーマンスデータを参照して特定する。この場合、データ処理装置422が子データ処理F3()の委任先として決定される。
また、データ処理装置421の決定手段304は、子データ処理F4()の委任先のデータ処理装置として、データ処理F4()を受任可能なデータ処理装置であり、かつ、コストが最も小さいデータ処理装置を、パフォーマンスデータを参照して特定する。この場合、データ処理装置423が子データ処理F4()の委任先として決定される。
また、データ処理装置424の決定手段304は、子データ処理F5()の委任先のデータ処理装置として、データ処理F5()を受任可能なデータ処理装置であり、かつ、位置依存データD4を利用可能なデータ処理装置のうち、コストが最も小さいデータ処理装置を、パフォーマンスデータを参照して特定する。この場合、データ処理装置425が子データ処理F5()の委任先として決定される。
続いて、図6A及び図6B(以下、これらを「図6」という)のフローチャート用いて、データ処理装置がデータ処理を実行すべきデータ処理装置を決定するプロセスを説明する。
受信手段302が委任元の装置から委任データを受信すると(ステップ601)、分割手段303は委任データにより委任されたデータ処理を複数のデータ処理に分割する(ステップS602)。続いて、決定手段304は、分割された親データ処理が自装置の処理手段305により実行可能であるか否かをパフォーマンスデータに基づき判定する(ステップS603)。親データ処理を自装置で実行不可能な場合(ステップ603;No)、送信手段306は委任元の装置に対し処理不能であることを送信し(ステップ613)、データ処理装置は一連の処理を終了する(ステップS617)。
親データ処理が自装置で実行可能な場合(ステップ603;Yes)、決定手段304は全ての子データ処理が処理済みであるかどうかを判定する(ステップ604)。全ての子データ処理が完了している場合(ステップS604;Yes)、処理手段305はそれらの子データ処理の結果データを用いて親データ処理を実行し、その結果を示す結果データを生成する(ステップS614)。続いて、送信手段306は処理手段305が生成した結果データを要求元の装置に送信する(ステップ615)。続いて、変更手段307はデータ処理に要したコストを算出してパフォーマンスデータを更新する(ステップ616)。その後、データ処理装置は一連の処理を終了する(ステップS617)。
完了していない子データ処理がある場合(ステップS604;No)、決定手段304は未完了の子データ処理の中から1つを対象の子データ処理として選択し(ステップS605)、選択した対象の子データ処理の最上位のデータ処理と、選択した子データ処理が位置依存データを用いる場合、それらの位置依存データのうち選択した子データ処理において最初に用いられる位置依存データを特定する(ステップ606)。
続いて、決定手段304は、パフォーマンスデータから、ステップ606において特定したデータ処理が委任可能であり、かつ、ステップ606において位置依存データを特定した場合、当該位置依存データを利用可能なデータ処理装置を、対象の子データ処理を実行するデータ処理装置の候補として抽出する(ステップ607)。
ステップ607において1以上のデータ処理装置が候補として抽出された場合(ステップS608;Yes)、決定手段304は、それらの候補の中から、パフォーマンスデータが示すコストが最小のものを対象の子データ処理を実行するデータ処理装置として決定する(ステップS609)。
ステップS609において決定されたデータ処理装置が自装置である場合(ステップS610;Yes)、処理手段305は対象の子データ処理を実行し(ステップ611)、その結果を示す結果データを記憶手段301に一時的に記憶させる。その後、データ処理装置は処理をステップS604に戻す。
一方、ステップS609において決定されたデータ処理装置が自装置ではない場合(ステップS610;No)、送信手段306は委任先として決定されたデータ処理装置に対し委任データを送信し、その応答として送信されてくる結果データを受信手段302が受信する(ステップS612)。受信手段302は委任先のデータ処理装置から受信した結果データを記憶手段301に一時的に記憶させる。その後、データ処理装置は処理をステップS604に戻す。
ステップS607においてデータ処理装置の候補が抽出されなかった場合(ステップS608;No)、すなわち、対象の子データ処理を過去にいずれのデータ処理装置にも委任した実績がない場合、決定手段304は自装置以外のデータ処理装置の中から1つ、未選択のデータ処理装置を所定の規則に従い選択する(ステップ618)。ステップ618において決定手段304がデータ処理装置を選択する規則としては、例えば、対象の子データ処理において用いられる位置依存データが利用可能であるか否かは不明であるが、対象の子データ処理と同じ種類のデータ処理を受任可能であるデータ処理装置を優先的に選択する、という規則、対象の子データ処理と同じ種類のデータ処理を受任可能であるか否かは不明であるが、対象の子データ処理が用いる位置依存データを利用可能であるデータ処理装置を優先的に選択する、という規則、コストの平均値が低いものを優先的に選択する、という規則、ランダムに選択する、という規則などが考えられる。
送信手段306は、ステップ618において決定手段304が選択したデータ処理装置に対し委任データを送信する(ステップS619)。ステップS619に送信された委任データに対する応答として、委任したデータ処理の結果を示す結果データが送信されてきた場合(ステップ620;Yes)、受信手段302はその結果データを受信し、記憶手段301に一時的に記憶させる。その後、データ処理装置は処理をステップS604に戻す。
ステップS619に送信された委任データに対する応答として、委任したデータ処理の結果を示す結果データが送信されてこなかった場合(ステップ620;No)、決定手段304はステップ618において全てのデータ処理装置を選択したか否かを判定する(ステップ621)。ステップ618において未選択のデータ処理装置がある場合(ステップ621;No)、データ処理装置は処理をステップ618に戻す。
一方、ステップ618において全てのデータ処理装置が既に選択されている場合(ステップ621;Yes)、対象の子データ処理を実行可能なデータ処理装置は見つからなかったことを意味する。従って、送信手段306は委任元の装置に対し処理不能であることの通知を送信し(ステップ613)、データ処理装置は一連の処理を終了する(ステップS617)。
上記のステップ618〜620の処理により、過去に委任したことのなかったデータ処理に関し、受任可能なデータ処理装置が特定され、その実績がステップ616においてパフォーマンスデータに反映されることになる。
上述したデータ処理システム1によれば、データ処理の分担を集中管理するデータ処理装置を要することなく、データ処理が複数のデータ処理装置により分散して実行されるとともに、データ処理全体の効率化が図られる。
[変形例]
上述した実施形態は本発明の技術的思想の範囲内で様々に変形可能である。以下にそれらの変形の例を示す。
(1)上述した実施形態においては、データ処理装置が記憶手段301に記憶するパフォーマンスデータは、当該データ処理装置が通信ネットワークを介してデータ通信が可能なデータ処理装置に関するパフォーマンスを示す。パフォーマンスデータが、当該パフォーマンスデータを記憶するデータ処理装置が直接はデータ通信ができないデータ処理装置に関するパフォーマンスを示すデータを含んでもよい。
この変形例においては、受信手段302が、データ通信が可能なデータ処理装置の各々から、当該データ処理装置がデータ通信可能なデータ処理装置の各々に関するパフォーマンスデータを受信し、記憶手段301が当該パフォーマンスデータを記憶する。
この変形例によれば、決定手段304は、自装置が直接データ通信可能なデータ処理装置のパフォーマンスに加え、自装置が直接はデータ通信できないデータ処理装置のパフォーマンスに基づき、データ処理の委任先のデータ処理装置を決定することができる。従って、上述した実施形態における場合と比較して、データ処理全体の効率化が図られる。
(2)上述した実施形態においては、或るデータ処理に関し過去にいずれかのデータ処理装置に委任した実績があれば、そのデータ処理装置が繰り返し、そのデータ処理の委任先として選択される。従って、仮に他のデータ処理装置がより低コストで同じデータ処理を実行可能であっても、過去にそのデータ処理を実行した実績があるデータ処理装置が一時的にデータ処理システム1から離脱する等の状況が生じなければ、より低コストでデータ処理を実行可能なデータ処理装置が認識されない。
従って、決定手段304が、委任対象のデータ処理に関し過去に委任を試みたことのないデータ処理装置があれば、当該データ処理装置を優先的に委任先のデータ処理装置として選択し、データ処理の委任を試みることにより、データ処理装置のパフォーマンスに関する情報を積極的に収集する構成が採用されてもよい。
この変形例において、決定手段304は、対象の子データ処理に関し、パフォーマンスデータに基づき、当該対象の子データ処理が受任可能であるか否かが不明なデータ処理装置の有無を判定する。対象の子データ処理が受任可能であるか否かが不明なデータ処理装置が有る場合、処理手段305は当該データ処理装置を対象の子データ処理の委任先のデータ処理装置として決定する。
(3)上述した実施形態および変形例の説明において用いたデータ、処理フロー等は例示であって、本発明はそれらに限定されない。例えば、パフォーマンスデータが過去の実績に基づくデータ処理装置のパフォーマンスをデータ処理が行われた時刻又は時間帯に対応付けて示すデータとして構成されてもよい。この場合、決定手段304は、例えばパフォーマンスデータが示す値に、現在により近い時刻のデータにより大きいウェイトを乗じて加重平均等することにより、現時点の通信ネットワークやデータ処理装置の状態により応じたパフォーマンスを示す指標を得ることができる。また、決定手段304は、例えばパフォーマンスデータが示す値のうち、現在の時間帯に対応付けて記憶されているものを抽出して用いることにより、現材の時間帯に応じた通信ネットワークやデータ処理装置の状態により応じたパフォーマンスを示す指標を得ることができる。その結果、より適切な委任先のデータ処理装置の決定が行われ、データ処理が全体として効率化される。
(4)上述した実施形態にかかるデータ処理システムを構成するデータ処理装置をコンピュータにより実現させるためのプログラムは、インターネットなどの通信回線を介してコンピュータにダウンロードされて用いられてもよい。また、このプログラムは、記録媒体に持続的に記録され、当該記録媒体からコンピュータにより読み取られて用いられてもよい。また、当該プログラムを記録した記録媒体が頒布されてもよい。
本発明はデータ処理を提供するサービス業において利用される。
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…データ処理装置

Claims (7)

  1. 通信ネットワークに接続された自装置を含む複数のデータ処理装置の各々に関し、当該データ処理装置が受任可能な1以上のデータ処理の種類と、当該データ処理装置が利用可能な1以上のデータの種類とを示しさらに、当該1以上のデータ処理の種類と当該1以上のデータの種類との組み合わせのうち1以上の各々に関し、当該データ処理装置が当該組み合わせに係る種類のデータを用いて当該組み合わせに係る種類のデータ処理を実行した際に当該データ処理に要するコストを示すパフォーマンスデータを記憶する記憶手段と、
    1以上の種類のデータ処理を実行可能な処理手段と、
    データ処理の委任元のデータ処理装置から、委任される1以上のデータ処理の種類と、当該1以上のデータ処理の各々において用いられる1以上のデータの種類とを示す委任データを受信する受信手段と、
    前記受信手段が受信した前記委任データにより委任されるデータ処理が分割できる場合、前記委任データにより委任されるデータ処理を複数のデータ処理に分割する分割手段と、
    前記委任データにより委任されるデータ処理が分割できない場合は当該データ処理に関し、また、前記委任データにより委任されるデータ処理が分割できる場合は前記分割手段が分割した複数のデータ処理の各々に関し、前記パフォーマンスデータに基づき、当該データ処理を自装置で実行するか自装置以外のデータ処理装置に委任するかを決定し、当該データ処理を他のデータ処理装置に委任すると決定した場合、当該データ処理の委任先のデータ処理装置を決定する決定手段と、
    前記決定手段が自装置以外のデータ処理装置に委任すると決定したデータ処理に関し、当該データ処理の委任を示す委任データを、前記決定手段が決定した委任先のデータ処理装置に送信する送信手段と
    を備え、
    前記処理手段は、前記決定手段が自装置で実行すると決定したデータ処理を実行し、
    前記受信手段は、前記送信手段が送信した委任データに対する応答として委任先のデータ処理装置から送信されてくるデータ処理の結果を示す結果データを受信し、
    前記送信手段は、前記受信手段が受信した委任データに対する応答として、前記処理手段が実行したデータ処理の結果を示す結果データおよび前記受信手段が委任先のデータ処理装置から受信した結果データの少なくとも一方を、委任元のデータ処理装置に送信する
    データ処理装置。
  2. 前記処理手段がデータ処理に要したコストに基づき、前記記憶手段に記憶されている自装置に関する前記パフォーマンスデータを変更し、前記送信手段が委任先のデータ処理装置に委任データを送信した後に当該委任データに対する応答として前記受信手段が結果データを受信するまでに前記通信ネットワーク及び前記複数のデータ処理装置の少なくとも1つが要したコストに基づき、前記記憶手段に記憶されている当該委任先のデータ処理装置に関する前記パフォーマンスデータを変更する変更手段
    を備える請求項1に記載のデータ処理装置。
  3. 前記決定手段は、或る種類のデータ処理に関し、前記パフォーマンスデータに基づき、当該或る種類のデータ処理が受任可能であるか否かが不明なデータ処理装置の有無を判定し、当該或る種類のデータ処理が受任可能であるか否かが不明なデータ処理装置が有る場合、当該或る種類のデータ処理が受任可能であるか否かが不明なデータ処理装置を当該或る種類のデータ処理の委任先のデータ処理装置として決定する
    請求項1または2に記載のデータ処理装置。
  4. 前記受信手段は、前記通信ネットワークを介してデータ通信が可能なデータ処理装置の各々から、当該データ処理装置が前記通信ネットワークを介して通信が可能なデータ処理装置の各々に関する前記パフォーマンスデータを受信し、
    前記記憶手段は、前記受信手段が受信した前記パフォーマンスデータを記憶する
    請求項1乃至3のいずれか1項に記載のデータ処理装置。
  5. 通信ネットワークに接続された複数のデータ処理装置の各々が、自装置を含む前記複数のデータ処理装置の各々に関し、当該データ処理装置が受任可能な1以上のデータ処理の種類と、当該データ処理装置が利用可能な1以上のデータの種類とを示しさらに、当該1以上のデータ処理の種類と当該1以上のデータの種類との組み合わせのうち1以上の各々に関し、当該データ処理装置が当該組み合わせに係る種類のデータを用いて当該組み合わせに係る種類のデータ処理を実行した際に当該データ処理に要するコストを示すパフォーマンスデータを記憶するステップと、
    前記複数のデータ処理装置の中のいずれかのデータ処理装置が、データ処理の委任元の装置から、委任される1以上のデータ処理の種類と、当該1以上のデータ処理の各々において用いられる1以上のデータの種類とを示す委任データを受信するステップと、
    前記委任データを受信したデータ処理装置が、前記委任データにより委任されるデータ処理が分割できる場合、前記委任データにより委任されるデータ処理を複数のデータ処理に分割するステップと、
    前記委任データを受信したデータ処理装置が、前記委任データにより委任されるデータ処理が分割できない場合は当該データ処理に関し、また、前記委任データにより委任されるデータ処理が分割できる場合は前記分割するステップにおいて分割した複数のデータ処理の各々に関し、前記記憶するステップにおいて記憶している前記パフォーマンスデータに基づき、当該データ処理を自装置で実行するか自装置以外のデータ処理装置に委任するかを決定し、当該データ処理を他のデータ処理装置に委任すると決定した場合、当該データ処理の委任先のデータ処理装置を決定するステップと、
    前記決定するステップにおいて自装置で実行すると決定したデータ処理が有れば当該データ処理を実行するステップと、
    前記決定するステップにおいて自装置以外のデータ処理装置に委任すると決定したデータ処理が有れば当該データ処理の委任を示す委任データを決定した委任先のデータ処理装置に送信するステップと、
    前記委任データを送信するステップにおいて送信した委任データに対する応答として委任先のデータ処理装置から送信されてくるデータ処理の結果を示す結果データを受信するステップと、
    前記委任データを受信するステップにおいて受信した委任データに対する応答として、前記実行するステップにおいて実行したデータ処理の結果を示す結果データおよび前記結果データを受信するステップにおいて委任先のデータ処理装置から受信した結果データの少なくとも一方を、前記委任元の装置に送信するステップと
    を備えるデータ処理方法。
  6. 通信ネットワークを介して他の装置との間でデータ通信を行う通信手段を備えるコンピュータに、
    自装置および前記通信ネットワークに接続された複数のデータ処理装置の各々に関し、当該装置が受任可能な1以上のデータ処理の種類と、当該装置が利用可能な1以上のデータの種類とを示しさらに、当該1以上のデータ処理の種類と当該1以上のデータの種類との組み合わせのうち1以上の各々に関し、当該装置が当該組み合わせに係る種類のデータを用いて当該組み合わせに係る種類のデータ処理を実行した際に当該データ処理に要するコストを示すパフォーマンスデータを記憶する処理と、
    データ処理の委任元の装置から、委任される1以上のデータ処理の種類と、当該1以上のデータ処理の各々において用いられる1以上のデータの種類とを示す委任データを受信する処理と、
    前記委任データにより委任されるデータ処理が分割できる場合、前記委任データにより委任されるデータ処理を複数のデータ処理に分割する処理と、
    前記委任データにより委任されるデータ処理が分割できない場合は当該データ処理に関し、また、前記委任データにより委任されるデータ処理が分割できる場合は前記分割する処理において分割した複数のデータ処理の各々に関し、前記パフォーマンスデータに基づき、当該データ処理を自装置で実行するか前記複数のデータ処理装置のいずれかに委任するかを決定し、当該データ処理を前記複数のデータ処理装置のいずれかに委任すると決定した場合、当該データ処理の委任先のデータ処理装置を決定する処理と、
    前記決定する処理において自装置で実行すると決定したデータ処理が有れば当該データ処理を実行する処理と、
    前記決定する処理において前記複数のデータ処理装置のいずれかに委任すると決定したデータ処理が有れば当該データ処理の委任を示す委任データを前記決定する処理において決定した委任先のデータ処理装置に送信する処理と、
    前記委任データを送信する処理において送信した委任データに対する応答として委任先のデータ処理装置から送信されてくるデータ処理の結果を示す結果データを受信する処理と、
    前記委任データを受信する処理において受信した委任データに対する応答として、前記実行する処理において実行したデータ処理の結果を示す結果データおよび前記結果データを受信する処理において委任先のデータ処理装置から受信した結果データの少なくとも一方を、前記委任元の装置に送信する処理と
    を実行させるためのプログラム。
  7. 通信ネットワークを介して他の装置との間でデータ通信を行う通信手段を備えるコンピュータに、
    自装置および前記通信ネットワークに接続された複数のデータ処理装置の各々に関し、当該装置が受任可能な1以上のデータ処理の種類と、当該装置が利用可能な1以上のデータの種類とを示しさらに、当該1以上のデータ処理の種類と当該1以上のデータの種類との組み合わせのうち1以上の各々に関し、当該装置が当該組み合わせに係る種類のデータを用いて当該組み合わせに係る種類のデータ処理を実行した際に当該データ処理に要するコストを示すパフォーマンスデータを記憶する処理と、
    データ処理の委任元の装置から、委任される1以上のデータ処理の種類と、当該1以上のデータ処理の各々において用いられる1以上のデータの種類とを示す委任データを受信する処理と、
    前記委任データにより委任されるデータ処理が分割できる場合、前記委任データにより委任されるデータ処理を複数のデータ処理に分割する処理と、
    前記委任データにより委任されるデータ処理が分割できない場合は当該データ処理に関し、また、前記委任データにより委任されるデータ処理が分割できる場合は前記分割する処理において分割した複数のデータ処理の各々に関し、前記パフォーマンスデータに基づき、当該データ処理を自装置で実行するか前記複数のデータ処理装置のいずれかに委任するかを決定し、当該データ処理を前記複数のデータ処理装置のいずれかに委任すると決定した場合、当該データ処理の委任先のデータ処理装置を決定する処理と、
    前記決定する処理において自装置で実行すると決定したデータ処理が有れば当該データ処理を実行する処理と、
    前記決定する処理において前記複数のデータ処理装置のいずれかに委任すると決定したデータ処理が有れば当該データ処理の委任を示す委任データを前記決定する処理において決定した委任先のデータ処理装置に送信する処理と、
    前記委任データを送信する処理において送信した委任データに対する応答として委任先のデータ処理装置から送信されてくるデータ処理の結果を示す結果データを受信する処理と、
    前記委任データを受信する処理において受信した委任データに対する応答として、前記実行する処理において実行したデータ処理の結果を示す結果データおよび前記結果データを受信する処理において委任先のデータ処理装置から受信した結果データの少なくとも一方を、前記委任元の装置に送信する処理と
    を実行させるためのプログラムを前記コンピュータにより読み取り可能かつ持続的に記憶する記録媒体。
JP2016064771A 2016-03-28 2016-03-28 自動負荷分散情報処理システム Active JP6742777B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016064771A JP6742777B2 (ja) 2016-03-28 2016-03-28 自動負荷分散情報処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016064771A JP6742777B2 (ja) 2016-03-28 2016-03-28 自動負荷分散情報処理システム

Publications (2)

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

Family

ID=60007374

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016064771A Active JP6742777B2 (ja) 2016-03-28 2016-03-28 自動負荷分散情報処理システム

Country Status (1)

Country Link
JP (1) JP6742777B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108170493B (zh) * 2017-12-27 2021-01-26 广州安食通信息科技有限公司 一种系统模块的加载方法、系统及装置
JP7069891B2 (ja) * 2018-03-16 2022-05-18 株式会社リコー 設定情報同期システム、同期方法、情報処理装置、委譲先装置、プログラム
JP6992041B2 (ja) * 2019-12-27 2022-01-13 京セラ株式会社 電力管理システム及び電力管理方法
JP7534848B2 (ja) * 2019-12-27 2024-08-15 京セラ株式会社 管理システム及び管理方法
JP6995825B2 (ja) * 2019-12-27 2022-01-17 京セラ株式会社 電力管理システム及び電力管理方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08137697A (ja) * 1994-11-15 1996-05-31 Kobe Steel Ltd 自律分散型システム
JP3927181B2 (ja) * 2004-01-22 2007-06-06 日本電信電話株式会社 グリッドシステムにおけるジョブ割付方法及びグリッド仲介装置
JP2011203867A (ja) * 2010-03-24 2011-10-13 Olympus Corp 分散コントローラ、分散処理システム、及び、分散処理方法
JP5957965B2 (ja) * 2012-03-02 2016-07-27 日本電気株式会社 仮想化システム、負荷分散装置、負荷分散方法、及び負荷分散プログラム

Also Published As

Publication number Publication date
JP2017182221A (ja) 2017-10-05

Similar Documents

Publication Publication Date Title
JP6742777B2 (ja) 自動負荷分散情報処理システム
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
CN101690132B (zh) 用于执行一网域主机配置协议请求的方法和设备
JP6558374B2 (ja) スケール数推定装置、スケール数管理システム、スケール数推定方法、スケール数管理方法、および、コンピュータ・プログラム
US11294736B2 (en) Distributed processing system, distributed processing method, and recording medium
JP2009110347A (ja) 資源管理システム、資源管理装置およびその方法
JP2006018561A (ja) リソース割り当て方法及びプログラム
JP2005310120A (ja) 計算機システム及びタスク割当方法
JP2016110248A (ja) 仮想化実行装置、仮想化システム、および、リソース最適化方法
JP4940613B2 (ja) 制約条件に基づいた資源選択システム、資源選択方法および資源選択プログラム
WO2020040133A1 (ja) ネットワーク管理装置、および、ネットワーク管理方法
JP6467360B2 (ja) ネットワーク構成レコメンド装置、ネットワーク構成レコメンド方法およびプログラム
US10951707B2 (en) Selection device, device selection method, and program
KR101360454B1 (ko) 콘텐츠 기반 네트워크 시스템 및 그 콘텐츠 전송 제어방법
CN112860421B (zh) 用于作业处理的方法、设备和计算机程序产品
JP4743904B2 (ja) リソース過分配防止システム
KR101146742B1 (ko) SaaS의 분산된 세션 관리 방법 및 그 관리 시스템
KR102279184B1 (ko) 포그 네트워크에서의 태스크 처리 방법 및 포그 네트워크 형성 방법
Tran-Dang et al. Fog Resource Aware Framework for Task Offloading in IoT Systems
KR101212407B1 (ko) 분산 병렬 생체정보인증 시스템에서의 온톨로지 추론 기반 작업 분산 스케줄링 시스템 및 방법
US20180262395A1 (en) System management device, system management method, program, and information processing system
JP6553996B2 (ja) パス予約支援装置、パス予約支援プログラム及びパス予約支援方法
WO2012117471A1 (ja) 仮想サーバシステム、管理サーバ装置及びシステム管理方法
JP7077676B2 (ja) 処理割当装置及び処理割当プログラム

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 Written amendment

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