JP2023000232A - データ処理プログラム、データ処理方法およびデータ処理システム - Google Patents
データ処理プログラム、データ処理方法およびデータ処理システム Download PDFInfo
- Publication number
- JP2023000232A JP2023000232A JP2021100932A JP2021100932A JP2023000232A JP 2023000232 A JP2023000232 A JP 2023000232A JP 2021100932 A JP2021100932 A JP 2021100932A JP 2021100932 A JP2021100932 A JP 2021100932A JP 2023000232 A JP2023000232 A JP 2023000232A
- Authority
- JP
- Japan
- Prior art keywords
- node
- resource
- processing
- amount
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 241
- 238000003672 processing method Methods 0.000 title claims abstract description 11
- 230000001965 increasing effect Effects 0.000 claims abstract description 28
- 238000000034 method Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 14
- 238000010801 machine learning Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 26
- 230000003416 augmentation Effects 0.000 description 25
- 238000004891 communication Methods 0.000 description 23
- 238000003860 storage Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 230000003190 augmentative effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000000611 regression analysis Methods 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 240000004050 Pentaglottis sempervirens Species 0.000 description 1
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000013341 scale-up Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/72—Admission control; Resource allocation using reservation actions during connection setup
- H04L47/726—Reserving resources in multiple paths to be used simultaneously
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/76—Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
- H04L47/762—Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions triggered by the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/822—Collecting or measuring resource availability data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/83—Admission control; Resource allocation based on usage prediction
Abstract
【課題】処理装置のリソース増強を行う適切なタイミングを判断するデータ処理プログラム、データ処理方法及びデータ処理システムを提供する。【解決手段】データ処理方法は、受信したデータに対して所定の処理を実行して結果を出力する複数の処理装置のうちのいずれかの処理装置に、前記複数の処理装置のうちの自装置の前段の処理装置群の第1の処理装置からリソースを増強したことの通知を受け付けた場合、前記処理装置群のそれぞれから所定期間内に受信したデータの受信量に基づいて、前記処理装置群のそれぞれの受信量の合計に対する前記第1の処理装置の受信量の割合を算出し、算出した前記割合と自装置のリソースの使用状況とに基づいて、自装置のリソースを増強するか否かを判断する。【選択図】図1
Description
本発明は、データ処理プログラム、データ処理方法およびデータ処理システムに関する。
近年、現実世界をデータ化して仮想世界に写像することで、仮想世界をデータとして俯瞰して把握・分析するデジタルツインシステムがある。デジタルツインシステムでは、例えば、センサデータを時系列データとして取り込むことで、時間の経過に伴って変化するデータの分析が可能となる。一方、データ量の増加などでリソースが不足した場合に、リソースを増強することで、サービス全体の処理量を増やすことが行われる。
先行技術としては、複数の処理を負荷分散して実行する処理ノードの数を変更可能なコンピュータシステムに、第1の処理の負荷が第1の条件を超えるときに、第1の処理に関係する第2の処理を実行する処理プログラムを第2の処理を実行するために増加される処理ノードに転送することを実行させるものがある。また、オブジェクトのサーバ上の容量を、予測される必要な容量に合わせるために、過去の需要、入力される地域、コスト要件等に基づいて動的に需要を予測し、それに応じて容量調整を行う技術がある。
しかしながら、従来技術では、複数のサービスを組み合わせてストリームデータ処理などを行うシステムにおいて、システム内の処理装置(ノード)のリソース増強を行う適切なタイミングを判断することが難しい。
一つの側面では、本発明は、処理装置のリソース増強を行う適切なタイミングを判断することを目的とする。
1つの実施態様では、受信したデータに対して所定の処理を実行して結果を出力する複数の処理装置のうちのいずれかの処理装置に、前記複数の処理装置のうちの自装置の前段の処理装置群の第1の処理装置からリソースを増強したことの通知を受け付けた場合、前記処理装置群のそれぞれから所定期間内に受信したデータの受信量に基づいて、前記処理装置群のそれぞれの受信量の合計に対する前記第1の処理装置の受信量の割合を算出し、算出した前記割合と自装置のリソースの使用状況とに基づいて、自装置のリソースを増強するか否かを判断する、データ処理プログラムが提供される。
本発明の一側面によれば、処理装置のリソース増強を行う適切なタイミングを判断することができるという効果を奏する。
以下に図面を参照して、本発明にかかるデータ処理プログラム、データ処理方法およびデータ処理システムの実施の形態を詳細に説明する。
(実施の形態)
図1は、実施の形態にかかるデータ処理方法の一実施例を示す説明図である。図1において、処理装置101は、受信したデータに対して所定の処理を実行して結果を出力するコンピュータである。所定の処理は、例えば、ストリームデータ処理である。ストリームデータ処理とは、時々刻々と発生するデータを逐次的に処理することである。データは、例えば、車両(コネクテッドカー)や生産設備などのセンサデータである。
図1は、実施の形態にかかるデータ処理方法の一実施例を示す説明図である。図1において、処理装置101は、受信したデータに対して所定の処理を実行して結果を出力するコンピュータである。所定の処理は、例えば、ストリームデータ処理である。ストリームデータ処理とは、時々刻々と発生するデータを逐次的に処理することである。データは、例えば、車両(コネクテッドカー)や生産設備などのセンサデータである。
例えば、デジタルツインシステムでは、現実世界に配備したセンサなどから情報を取り込み、関係するデータを組み合わせて処理、分析することが行われる。デジタルツインシステムでは、センサデータを時系列データとして取り込むことで、時間の経過に伴って変化するデータの分析が可能となる。
また、大量のデータを高速に処理するために、並列分散かつ複数段でデータをストリームデータ処理する場合がある。例えば、メッセージキューサービスやストリームデータ処理サービスを組み合わせて、ストリームデータ処理を行うデジタルツインシステムがある。このデジタルツインシステムでは、センサデータをストリームデータとして扱い、メッセージキューを介してストリームデータ処理を行う。
このようなシステムでは、データ量の増加などでリソースが不足した場合に、例えば、スケールアウトやスケールアップなどにより、リソースを増強することが行われる。
複数のサービスの組み合わせにより実現されるサービスの増強手法として、例えば、組み合わせている各サービスが、個々にリソースの増強を制御する技術がある(従来技術1)。従来技術1では、例えば、各サービスが、自サービスの使用済みリソースが、予め決められた閾値を超えたら、リソースの増強を行う。
しかしながら、従来技術1では、あるサービスが増強された場合に、そのサービスからのストリームデータが流れ込む後段のサービスがすぐにリソース不足になり、リソース不足状態が長く続くことになるという問題がある。
また、組み合わせているサービス全体について、一括でリソースの増強を制御する技術がある(従来技術2)。従来技術2は、例えば、組み合わせているサービス全体の使用済みリソースが、予め決められた閾値を超えたら、全サービスのリソースの増強を一括して行う。
しかしながら、従来技術2では、本来増強しなくてよいサービスについても補強することになる場合があり、過剰なリソース提供につながるという問題がある。
また、前段のサービスが、既定の時間、既定の負荷量を超え続けたら、後段のサービスを増強する技術がある(従来技術3)。従来技術3では、時間と負荷量に関する閾値の範囲、各サービスの前段のサービスとのつながりは、事前に設定される。従来技術3については、例えば、特許文献1を参照することができる。
しかしながら、現実世界の状況は刻々と変化するため、センサからメッセージキューへの流量も状況によって変化する。その結果、前段のサービスからの流入量が状況によって変化する。このため、従来技術3のように、閾値の範囲などのパラメータを事前に設定することは困難である。また、複数のメッセージキューを利用してストリームデータ処理を複数段つなげるといったシステム構成になると、サービスの接続関係の複雑さが増し、事前のパラメータ設定が困難になる。
そこで、本実施の形態では、ある処理装置のリソース増強が行われたときに、その後段の処理装置のリソース増強を行う適切なタイミングを判断するデータ処理方法について説明する。以下、処理装置101の処理例について説明する。ここでは、処理装置101は、複数の処理装置のいずれかの処理装置であり、前段の処理装置から受信したデータに対して所定の処理を実行して結果を出力する。また、処理装置101の前段の処理装置を「処理装置102,103」とする。
(1)処理装置101は、自装置の前段の処理装置群の第1の処理装置から増強通知を受け付ける。ここで、増強通知は、リソースを増強したことを示す通知である。処理装置のリソースを増強すると、その処理装置の処理能力が向上し、その処理装置から後段の処理装置へのデータの流入量が増加する傾向にある。
図1の例では、処理装置101が、前段の処理装置102から増強通知を受け付けた場合を想定する。
(2)処理装置101は、第1の処理装置から増強通知を受け付けた場合、前段の処理装置群のそれぞれから所定期間内に受信したデータの受信量に基づいて、前段の処理装置群のそれぞれの受信量の合計に対する第1の処理装置の受信量の割合を算出する。所定期間は、任意に設定可能であり、例えば、増強通知を受け付けた時点を含む一定時間(30分など)の期間である。
ここで、処理装置101の処理負荷は、受信するデータ量が増加すると、それに応じて増加するという関係にある。したがって、前段の処理装置群のうち、処理装置101が受信するデータの受信量が多い処理装置ほど、処理装置101との関係が強く依存度合いが高いといえる。
ここでは、処理装置101の第1の処理装置への依存度合いを、前段の処理装置群のそれぞれの受信量の合計に対する第1の処理装置の受信量の割合によって表す。処理装置101は、第1の処理装置への依存度合いをもとに、第1の処理装置の増強が自装置にどのような影響を及ぼすかを推測することができる。
図1の例では、処理装置101は、前段の処理装置102から増強通知を受け付けたことに応じて、前段の処理装置群102,103のそれぞれから直近30分間に受信したデータの受信量を特定する。ここでは、処理装置102から直近30分間に受信したデータの受信量を「受信量a」とし、処理装置103から直近30分間に受信したデータの受信量を「受信量b」とする(a>b)。この場合、処理装置101は、前段の処理装置群102,103のそれぞれの受信量の合計「a+b」に対する前段の処理装置102の受信量「a」の割合「a/(a+b)」を算出する。この割合「a/(a+b)」は、処理装置101の前段の処理装置102への依存度合いを表す。
(3)処理装置101は、算出した割合と自装置のリソースの使用状況とに基づいて、自装置のリソースを増強するか否かを判断する。リソースの使用状況は、例えば、使用リソース量と未使用リソース量とによって表される。処理装置101の第1の処理装置への依存度合いが高いほど、第1の処理装置の増強が自装置に及ぼす影響が大きいといえ、第1の処理装置の増強によりデータの受信量が増加してリソース消費量が増えると推測することができる。
このため、処理装置101は、第1の処理装置が増強されたときに、第1の処理装置への依存度合いに応じて、自装置の未使用リソースが使用されると判断する。具体的には、例えば、処理装置101は、算出した割合と、自装置の現在のリソースの使用状況とに基づいて、自装置の将来のリソースの使用状況を推測する。例えば、算出した割合が高いほど、処理装置101の使用リソース量が多くなるように、将来のリソースの使用状況が推測される。
そして、処理装置101は、推測した将来のリソースの使用状況が予め決められた増強条件を満たすか否かを判断する。ここで、増強条件を満たす場合に、処理装置101は、自装置のリソースを増強すると判断する。一方、増強条件を満たさない場合には、処理装置101は、自装置のリソースを増強しないと判断する。
図1の例では、処理装置101は、算出した割合「a/(a+b)」と、自装置の現在のリソースの使用状況とに基づいて、将来のリソースの使用状況を推測する。そして、処理装置101は、推測した将来のリソースの使用状況が、予め決められた増強条件を満たすか否かを判断する。ここでは、将来のリソースの使用状況が増強条件を満たす場合を想定する。この場合、処理装置101は、自装置のリソースを増強すると判断する。
このように、処理装置101によれば、ネットワーク通信量(前段の処理装置群それぞれの受信量)をもとに、増強された第1の処理装置への依存度合いを算出することができる。そして、処理装置101によれば、第1の処理装置への依存度合いをもとに、第1の処理装置の増強が自装置にどのような影響を及ぼすかを推測して、リソース不足になるかどうかを判断することができる。
これにより、処理装置101は、前段の処理装置102の増強によるネットワーク通信量の変化やリソース消費量の変化を直接予測することが困難な場合であっても、自装置のリソース増強を行う適切なタイミングを判断することができる。図1の例では、処理装置101は、前段の処理装置102への依存度合いをもとに、前段の処理装置102の増強が自装置にどのような影響を及ぼすかを推測して、前段の処理装置102の増強に連動して、自装置のリソースを増強するか否かを判断することができる。
(データ処理システム200のシステム構成例)
つぎに、実施の形態にかかるデータ処理システム200のシステム構成例について説明する。データ処理システム200は、例えば、クラウド上に実世界(ヒト・モノ)のデータを収集し、データの分析、予測の結果をサービスやアプリケーションに対して提供するデジタルツインシステムに適用される。例えば、コネクテッドカーを例に挙げると、速度や位置などの車両から収集される大量のデータを分析し、危険情報などをドライバーにフィードバックすることができる。
つぎに、実施の形態にかかるデータ処理システム200のシステム構成例について説明する。データ処理システム200は、例えば、クラウド上に実世界(ヒト・モノ)のデータを収集し、データの分析、予測の結果をサービスやアプリケーションに対して提供するデジタルツインシステムに適用される。例えば、コネクテッドカーを例に挙げると、速度や位置などの車両から収集される大量のデータを分析し、危険情報などをドライバーにフィードバックすることができる。
以下の説明では、データ処理システム200に含まれる複数の処理装置を「ノードN1~Nn」と表記する場合がある(n:2以上の自然数)。また、ノードN1~Nnのうちの任意のノードを「ノードNi」と表記する場合がある(i=1,2,…,n)。図1に示した処理装置101は、例えば、ノードNiに対応する。
図2は、データ処理システム200のシステム構成例を示す説明図である。図2において、データ処理システム200は、ノードN1~Nnと、管理端末201と、を含む。データ処理システム200において、ノードN1~Nnおよび管理端末201は、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などである。
ここで、ノードNiは、増強条件テーブル220を有し、受信したデータに対して所定の処理を実行して結果を出力する。ノードNiは、例えば、メッセージキューサービスやストリームデータ処理サービスなどのサービスに対応するデータ処理基盤である。所定の処理は、例えば、センサデータのキューイング処理やストリームデータ処理などである。
ノードNiは、例えば、クラウドコンピューティングのサーバであってもよく、エッジコンピューティングのサーバであってもよい。また、ノードNiは、サーバ(物理サーバ)上の仮想マシンやコンテナによって実現されることにしてもよい。なお、増強条件テーブル220の記憶内容については、図4を用いて後述する。
管理端末201は、データ処理システム200の管理者が使用するコンピュータである。管理端末201は、例えば、PC(Personal Computer)、タブレットPCなどである。
データ処理システム200において、ノードNiは、例えば、前段のノードから受信したデータに対して所定の処理(例えば、キューイング処理、ストリームデータ処理)を実行して結果を後段のノードに出力する。なお、ノードNiは、自ノードの前段のノードおよび後段のノードを特定可能である。例えば、ノードNiの前段のノードおよび後段のノードは、管理者によって設定されてもよい。また、前段のノードについては、ノードNiは、自ノードにデータを送信してきたノードを、前段のノードとして特定してもよい。
(ノードNiのハードウェア構成例)
図3は、ノードNiのハードウェア構成例を示すブロック図である。図3において、ノードNiは、CPU(Central Processing Unit)301と、メモリ302と、ディスクドライブ303と、ディスク304と、通信I/F(Interface)305と、可搬型記録媒体I/F306と、可搬型記録媒体307と、を有する。また、各構成部は、バス300によってそれぞれ接続される。
図3は、ノードNiのハードウェア構成例を示すブロック図である。図3において、ノードNiは、CPU(Central Processing Unit)301と、メモリ302と、ディスクドライブ303と、ディスク304と、通信I/F(Interface)305と、可搬型記録媒体I/F306と、可搬型記録媒体307と、を有する。また、各構成部は、バス300によってそれぞれ接続される。
ここで、CPU301は、ノードNiの全体の制御を司る。CPU301は、複数のコアを有していてもよい。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMがOSのプログラムを記憶し、ROMがアプリケーションプログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
ディスクドライブ303は、CPU301の制御に従ってディスク304に対するデータのリード/ライトを制御する。ディスク304は、ディスクドライブ303の制御で書き込まれたデータを記憶する。ディスク304としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
通信I/F305は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、通信I/F305は、ネットワーク210と装置内部とのインターフェースを司り、他のコンピュータからのデータの入出力を制御する。通信I/F305には、例えば、モデムやLANアダプタなどを採用することができる。
可搬型記録媒体I/F306は、CPU301の制御に従って可搬型記録媒体307に対するデータのリード/ライトを制御する。可搬型記録媒体307は、可搬型記録媒体I/F306の制御で書き込まれたデータを記憶する。可搬型記録媒体307としては、例えば、CD(Compact Disc)-ROM、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリなどが挙げられる。
なお、ノードNiは、上述した構成部のほかに、例えば、入力装置、ディスプレイなどを有することにしてもよい。また、図2に示した管理端末201についても、ノードNiと同様のハードウェア構成により実現することができる。ただし、管理端末201は、上述した構成部のほかに、例えば、入力装置、ディスプレイなどを有する。
(増強条件テーブル220の記憶内容)
つぎに、図4を用いて、ノードNiが有する増強条件テーブル220の記憶内容について説明する。増強条件テーブル220は、例えば、図3に示したメモリ302、ディスク304などの記憶装置により実現される。
つぎに、図4を用いて、ノードNiが有する増強条件テーブル220の記憶内容について説明する。増強条件テーブル220は、例えば、図3に示したメモリ302、ディスク304などの記憶装置により実現される。
図4は、増強条件テーブル220の記憶内容の一例を示す説明図である。図4において、増強条件テーブル220は、増強条件情報400-1,400-2を記憶する。増強条件情報400-1は、前段のノード数が2以上の場合の増強条件「想定リソース使用量が80[%]超え」を示す。増強条件情報400-2は、前段のノード数が1の場合の増強条件「現在のリソース使用量が70[%]超え」を示す。各増強条件は、例えば、ノードNiごとに任意に設定可能である。
(データ処理システム200内のノード間の接続例)
つぎに、図5を用いて、データ処理システム200内のノード間の接続例について説明する。
つぎに、図5を用いて、データ処理システム200内のノード間の接続例について説明する。
図5は、データ処理システム200内のノード間の接続例を示す説明図である。図5において、データ処理システム200内のノードN1~N4が示されている。ノードN1,N2は、ノードN3の前段のノードである。各ノードN1,N2は、例えば、不図示の前段のノードやセンサ(例えば、コネクテッドカー)などから受信したデータに対してキューイング処理などを実行して結果を後段のノードN3に出力する。
ノードN3は、ノードN1,N2の後段のノードであり、ノードN4の前段のノードである。ノードN3は、例えば、前段のノードN1,N2から受信したデータに対してストリームデータ処理などを実行して結果を後段のノードN4に出力する。
ノードN4は、ノードN3の後段のノードである。ノードN4は、例えば、前段のノードN3から受信したデータに対してストリームデータ処理などを実行して結果を、不図示の後段のノードやユーザ端末(例えば、アプリケーション、サービスなど)に出力する。
(ノードNiの機能的構成例)
図6は、ノードNiの機能的構成例を示すブロック図である。図6において、ノードNiは、受付部601と、特定部602と、算出部603と、判断部604と、増強制御部605と、を含む。受付部601~増強制御部605は制御部となる機能であり、具体的には、例えば、図3に示したメモリ302、ディスク304、可搬型記録媒体307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、通信I/F305により、その機能を実現する。各機能部の処理結果は、例えば、メモリ302、ディスク304などの記憶装置に記憶される。
図6は、ノードNiの機能的構成例を示すブロック図である。図6において、ノードNiは、受付部601と、特定部602と、算出部603と、判断部604と、増強制御部605と、を含む。受付部601~増強制御部605は制御部となる機能であり、具体的には、例えば、図3に示したメモリ302、ディスク304、可搬型記録媒体307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、通信I/F305により、その機能を実現する。各機能部の処理結果は、例えば、メモリ302、ディスク304などの記憶装置に記憶される。
受付部601は、ノードN1~Nnのうちの自ノードの前段のノードNj(j≠i、j=1,2,…,n)から増強通知を受け付ける。増強通知は、リソースを増強したことを示す通知である。増強通知には、前段のノードNjを識別する識別子、例えば、IP(Internet Protocol)アドレスが含まれる。
増強通知は、例えば、スケールアウトやスケールアップなどにより、前段のノードNjのリソースが増強されたことに応じて、前段のノードNjからノードNiに通知される。増強通知は、例えば、前段のノードNjにおいて、増強が完了したタイミングで通知されてもよく、また、増強が開始されたタイミングで通知されてもよい。前段のノードNjにおけるリソースの増強は、例えば、前段のノードNjの判断部604によりリソースを増強すると判断された場合に行われてもよく、また、管理者の指示や既存のリソース制御により行われてもよい。
特定部602は、前段のノードNjから増強通知を受け付けた場合、自ノードの前段のノード群のそれぞれから所定期間T内に受信したデータの受信量を特定する。所定期間Tは、直近の通信状況を判断するために設けられる期間であり、例えば、増強通知を受け付けた時点以前の直近30分程度の期間に設定される。前段のノード群は、前段のノードNjを含む1以上のノードである。
具体的には、例えば、特定部602は、自ノードのOS(Operating System)から、サービスがメトリクスとして収集している単位時間あたりのデータの受信量を取得する。データの受信量は、例えば、バイトサイズによって表されてもよく、また、メッセージ数によって表されてもよい。
取得された単位時間あたりのデータの受信量は、例えば、図7に示すような受信量収集テーブル700に記憶される。受信量収集テーブル700は、例えば、図3に示したメモリ302、ディスク304などの記憶装置により実現される。ここで、受信量収集テーブル700の記憶内容について説明する。
図7は、受信量収集テーブル700の記憶内容の一例を示す説明図である。図7において、受信量収集テーブル700は、Time、送信元IPおよび受信量のフィールドを有し、各フィールドに情報を設定することで、受信量データ(例えば、受信量データ700-1,700-2)をレコードとして記憶する。
ここで、Timeは、時間帯を示す。例えば、Time「2021/3/15 10:54:00」は、2021年3月15日の10時54分台の時間帯(1分間)を示す。送信元IPは、前段のノードNjのIPアドレスを示す。受信量は、Timeにおいて前段のノードNjから受信した1分あたりのデータの受信量を示す(単位:MB)。
特定部602は、取得した単位時間あたりのデータの受信量に基づいて、前段のノード群のそれぞれから所定期間T内に受信したデータの受信量を特定する。ここで、所定時間Tを直近30分間の期間とする。この場合、特定部602は、受信量収集テーブル700を参照して、前段のノード群のそれぞれについて、Timeが直近30分間に含まれる受信量データを抽出する。そして、特定部602は、前段のノード群のそれぞれについて、抽出した受信量データが示す受信量を集計することにより、直近30分間に受信したデータの受信量を特定する。
特定された所定期間T内(例えば、直近30分間)に受信したデータの受信量は、例えば、前段のノードNjと対応付けて、図8に示すような通信状況テーブル800に記憶される。通信状況テーブル800は、例えば、図3に示したメモリ302、ディスク304などの記憶装置により実現される。ここで、通信状況テーブル800の記憶内容について説明する。
図8は、通信状況テーブル800の記憶内容の一例を示す説明図である。図8において、通信状況テーブル800は、送信元IPおよび受信量のフィールドを有し、各フィールドに情報を設定することで、通信状況情報(例えば、通信状況情報800-1,800-2)をレコードとして記憶する。
ここで、送信元IPは、前段のノードNjのIPアドレスを示す。受信量は、直近30分間に前段のノードNjから受信したデータの受信量を示す(単位:MB)。
図6の説明に戻り、算出部603は、特定された前段のノード群のそれぞれから所定期間T内に受信したデータの受信量に基づいて、前段のノード群のそれぞれの受信量の合計に対する前段のノードNjの受信量の割合を算出する。具体的には、例えば、算出部603は、図8に示した通信状況テーブル800を参照して、前段のノード群のそれぞれの受信量の比率を算出する。
そして、算出部603は、算出した前段のノード群のそれぞれの受信量の比率から、前段のノードNjの依存比率を算出する。ここで、前段のノードNjの依存比率は、ノードNiの前段のノードNjへの依存度合いを示す指標値であり、ノードNiと前段のノードNjとの関係の強さを示す。前段のノードNjの依存比率は、例えば、前段のノード群のそれぞれの受信量の合計に対する前段のノードNjの受信量の割合によって表すことができる。
図8の例では、送信元IP「10.244.1.12」のノードの受信量と送信元IP「10.244.1.13」のノードの受信量との比率は、「1:2」である。例えば、送信元IP「10.244.1.12」のノード(前段のノードNj)から増強通知を受け付けたとする。この場合、前段のノードNjの依存比率は、「1/3」となる。
判断部604は、算出された割合と自ノードのリソースの使用状況とに基づいて、自ノードのリソースを増強するか否かを判断する。ここで、リソースの使用状況は、例えば、現在の使用リソース量および未使用リソース量を含む。リソースは、例えば、CPU、メモリ、ストレージ、通信I/Fなどである。
現在の使用リソース量は、ノードNiの使用可能なリソースのうち、現在使用されているリソース量である(単位:[%])。また、現在の未使用リソース量は、ノードNiの使用可能なリソースのうち、現在使用されていないリソース量である(単位:[%])。リソースの使用状況は、例えば、ノードNiのOSから取得することができる。なお、ノードNiの使用可能なリソースは、例えば、ノードNiの全リソースであってもよく、また、ノードNiの一部のリソースであってもよい。
具体的には、例えば、判断部604は、自ノードのOSから、現在の使用リソース量および未使用リソース量を取得する。つぎに、判断部604は、算出された前段のノードNjの依存比率と現在の使用リソース量および未使用リソース量に基づいて、想定リソース消費量を算出する。
ここで、想定リソース消費量は、ノードNiの将来の使用リソース量を示す。より詳細に説明すると、例えば、判断部604は、下記式(1)を用いて、ノードNiの想定リソース消費量を算出することができる。ただし、R(済)は、ノードNiの現在の使用リソース量を示す。R(未)は、ノードNiの現在の未使用リソース量を示す。dRは、前段のノードNjの依存比率を示す。
想定リソース消費量=R(済)+R(未)*dR ・・・(1)
つぎに、判断部604は、算出した想定リソース消費量が増強条件を満たすか否かを判断する。より詳細に説明すると、例えば、判断部604は、図4に示した増強条件テーブル220を参照して、前段のノード数が2以上の場合の増強条件「想定リソース使用量が80[%]超え」を特定する。
そして、判断部604は、算出した想定リソース消費量が80[%]より大きいか否かを判断する。80[%]は、増強条件を満たすか否かを判断するための閾値に相当する。ここで、想定リソース消費量が80[%]より大きい場合、判断部604は、自ノードのリソースを増強すると判断する。一方、想定リソース消費量が80[%]以下の場合には、判断部604は、自ノードのリソースを増強しないと判断する。
なお、前段のノードが1つの場合がある。この場合、判断部604は、例えば、増強条件テーブル220を参照して、前段のノード数が1の場合の増強条件「現在のリソース使用量が70[%]超え」を特定する。そして、判断部604は、取得した自ノードの現在のリソース使用量が70[%]より大きいか否かを判断する。ここで、現在のリソース使用量が70[%]より大きい場合、判断部604は、自ノードのリソースを増強すると判断する。一方、現在のリソース使用量が70[%]以下の場合には、判断部604は、自ノードのリソースを増強しないと判断する。
ノードNiのリソースを増強するか否かの判断例については、図9~図11を用いて後述する。
また、判断部604は、例えば、回帰分析やニューラルネットワークなどを用いた機械学習を利用して、自ノードのリソースを増強するか否かを判断することにしてもよい。なお、機械学習を利用して、自ノードのリソースを増強するか否かを判断する場合の処理例については、図13を用いて後述する。
増強制御部605は、自ノードのリソースを増強すると判断された場合、自ノードのリソースの増強を行う。具体的には、例えば、増強制御部605は、自ノードのリソースを増強すると判断された場合に、所定の処理(キューイング処理、ストリームデータ処理など)を実行するために割り当てられるリソース量を増加させることにしてもよい。
リソース量の増加分は、例えば、予め決められていてもよい。また、リソース量の増加分は、想定リソース消費量と閾値(例えば、80[%])との差分に応じて決定することにしてもよい。また、前段のノードが1つの場合、リソース量の増加分は、現在のリソース量と閾値(例えば、70[%])との差分に応じて決定することにしてもよい。
より詳細に説明すると、例えば、ノードNiが仮想マシンやコンテナによって実現されるとする。また、増強するリソースを「CPUリソース」とする。この場合、増強制御部605は、例えば、ノードNiに割り当てる仮想CPU(CPUリソース)の数を、予め決められた数分増加させることにしてもよい。
また、増強制御部605は、例えば、自ノードのリソースを増強すると判断された場合に、自ノードのリソースの増強指示を、図2に示した管理端末201や不図示のリソース制御装置に出力することにしてもよい。リソースの増強指示には、例えば、ノードNiのIPアドレスや増強対象のリソース情報(リソースの種別、リソース量の増加分など)が含まれる。
例えば、データ処理システム200の管理者やリソース制御装置(不図示)は、ノードNiからの増強指示に応じて、ノードNiのリソースの増強を行うことができる。これにより、前段のノードNjが増強されたときに、その後段のノードNiがリソース不足となる前に、ノードNiのリソース増強を行うことができる。
なお、判断部604および増強制御部605の処理は、例えば、ノードNiのリソースの種別(CPU、メモリ、ストレージ、通信I/Fなど)ごとに実行されることにしてもよい。また、判断部604および増強制御部605の処理は、例えば、ノードNiの特定の種別のリソース(例えば、CPU)についてのみ実行されることにしてもよい。
また、増強制御部605は、自ノードのリソースを増強後に、例えば、前段のノード群からのデータの流入量の低下などにより、自ノードの使用リソース量が所定量以下まで低下した場合、自ノードのリソースの一部を解放することにしてもよい。
(リソース増強の判断例)
つぎに、図9~図11を用いて、ノードNiのリソースを増強するか否かの判断例について説明する。ここでは、図5に示したデータ処理システム200を例に挙げて説明する。また、ノードNiを「ノードN3」とし、前段のノード群を「ノードN1,N2」とする。
つぎに、図9~図11を用いて、ノードNiのリソースを増強するか否かの判断例について説明する。ここでは、図5に示したデータ処理システム200を例に挙げて説明する。また、ノードNiを「ノードN3」とし、前段のノード群を「ノードN1,N2」とする。
図9は、リソース増強の判断例を示す説明図(その1)である。図9において、ノードN3と、ノードN3の前段のノード群N1,N2が示されている。ノードN1は、メッセージキュー1のサービスを実行する。ノードN2は、メッセージキュー2のサービスを実行する。ノードN3は、データ処理1のサービスを実行する。
メッセージキュー1,2のサービスは、例えば、受信したセンサデータをバッファリングして、後段のノードN3に順次出力する。データ処理1のサービスは、前段のノード群N1,N2のそれぞれから受信したデータに対してストリームデータ処理を実行して結果を後段のノード(例えば、図5に示したノードN4)に出力する。
また、通信状況テーブル900には、前段のノード群N1,N2のそれぞれから受信した直近30分間のデータの受信量が示されている。なお、図9~図11では、ノードN1,N2の識別子として、ノードN1,N2の「送信元IP」のかわりに、「N1,N2」を表記している。
ここで、ノードN3のノードN1からの受信量は、「10[MB]」である。また、ノードN3のノードN2からの受信量は、「20[MB]」である。この場合、ノードN3は、例えば、前段のノード群N1,N2のそれぞれの受信量の比率から、前段のノードN1,N2のそれぞれの依存比率を算出する。
ここでは、前段のノードN1の依存比率は、「1/3」となる。また、前段のノードN2の依存比率は、「2/3」となる。また、ノードN3の現在の使用リソース量を「30[%]」とし、ノードN3の現在の未使用リソース量を「70[%]」とする。また、ノードN3について、前段のノード数が2以上の場合の増強条件を「想定リソース使用量が80[%]超え」とする。
まず、前段のノード群N1,N2のうちノードN1が増強された場合を想定する。この場合、ノードN3は、上記式(1)を用いて、前段のノードN1の依存比率と自ノードの現在の使用リソース量および未使用リソース量から、自ノードの想定リソース消費量を算出する。想定リソース消費量は、以下のようになる。
想定リソース消費量=30+70*(1/3)=53.3[%]
ノードN3は、算出した想定リソース消費量が80[%]以下のため、前段のノードN1と連動して、自ノードのリソースを増強しないと判断する。
つぎに、前段のノード群N1,N2のうちノードN2が増強された場合を想定する。この場合、ノードN3は、上記式(1)を用いて、前段のノードN2の依存比率と自ノードの現在の使用リソース量および未使用リソース量から、自ノードの想定リソース消費量を算出する。想定リソース消費量は、以下のようになる。
想定リソース消費量=30+70*(2/3)=76.6[%]
ノードN3は、算出した想定リソース消費量が80[%]以下のため、前段のノードN2と連動して、自ノードのリソースを増強しないと判断する。
図10は、リソース増強の判断例を示す説明図(その2)である。図10において、ノードN3と、ノードN3の前段のノード群N1,N2が示されている。また、通信状況テーブル1000には、前段のノード群N1,N2のそれぞれから受信した直近30分間のデータの受信量が示されている。
ここで、ノードN3のノードN1からの受信量は、「10[MB]」である。また、ノードN3のノードN2からの受信量は、「20[MB]」である。この場合、ノードN3は、例えば、前段のノード群N1,N2のそれぞれの受信量の比率から、前段のノードN1,N2のそれぞれの依存比率を算出する。
ここでは、前段のノードN1の依存比率は、「1/3」となる。また、前段のノードN2の依存比率は、「2/3」となる。また、ノードN3の現在の使用リソース量を「50[%]」とし、ノードN3の現在の未使用リソース量を「50[%]」とする。また、ノードN3について、前段のノード数が2以上の場合の増強条件を「想定リソース使用量が80[%]超え」とする。
まず、前段のノード群N1,N2のうちノードN1が増強された場合を想定する。この場合、ノードN3は、上記式(1)を用いて、前段のノードN1の依存比率と自ノードの現在の使用リソース量および未使用リソース量から、自ノードの想定リソース消費量を算出する。想定リソース消費量は、以下のようになる。
想定リソース消費量=50+50*(1/3)=66.6[%]
ノードN3は、算出した想定リソース消費量が80[%]以下のため、前段のノードN1と連動して、自ノードのリソースを増強しないと判断する。
つぎに、前段のノード群N1,N2のうちノードN2が増強された場合を想定する。この場合、ノードN3は、上記式(1)を用いて、前段のノードN2の依存比率と自ノードの現在の使用リソース量および未使用リソース量から、自ノードの想定リソース消費量を算出する。想定リソース消費量は、以下のようになる。
想定リソース消費量=50+50*(2/3)=83.3[%]
ノードN3は、算出した想定リソース消費量が80[%]を超えるため、前段のノードN2と連動して、自ノードのリソースを増強すると判断する。
図11は、リソース増強の判断例を示す説明図(その3)である。図11において、ノードN3と、ノードN3の前段のノード群N1,N2が示されている。また、通信状況テーブル1100には、前段のノード群N1,N2のそれぞれから受信した直近30分間のデータの受信量が示されている。
ここで、ノードN3のノードN1からの受信量は、「20[MB]」である。また、ノードN3のノードN2からの受信量は、「10[MB]」である。この場合、ノードN3は、例えば、前段のノード群N1,N2のそれぞれの受信量の比率から、前段のノードN1,N2のそれぞれの依存比率を算出する。
ここでは、前段のノードN1の依存比率は、「2/3」となる。また、前段のノードN2の依存比率は、「1/3」となる。また、ノードN3の現在の使用リソース量を「50[%]」とし、ノードN3の現在の未使用リソース量を「50[%]」とする。また、ノードN3について、前段のノード数が2以上の場合の増強条件を「想定リソース使用量が80[%]超え」とする。
まず、前段のノード群N1,N2のうちノードN1が増強された場合を想定する。この場合、ノードN3は、上記式(1)を用いて、前段のノードN1の依存比率と自ノードの現在の使用リソース量および未使用リソース量から、自ノードの想定リソース消費量を算出する。想定リソース消費量は、以下のようになる。
想定リソース消費量=50+50*(2/3)=83.3[%]
ノードN3は、算出した想定リソース消費量が80[%]を超えるため、前段のノードN1と連動して、自ノードのリソースを増強すると判断する。
つぎに、前段のノード群N1,N2のうちノードN2が増強された場合を想定する。この場合、ノードN3は、上記式(1)を用いて、前段のノードN2の依存比率と自ノードの現在の使用リソース量および未使用リソース量から、自ノードの想定リソース消費量を算出する。想定リソース消費量は、以下のようになる。
想定リソース消費量=50+50*(1/3)=66.6[%]
ノードN3は、算出した想定リソース消費量が80[%]以下のため、前段のノードN2と連動して、自ノードのリソースを増強しないと判断する。
(データ処理システム200の動作例)
つぎに、図12を用いて、データ処理システム200の動作例について説明する。ここでは、データ処理システム200が多段構成で複数経路構成の場合について説明する。
つぎに、図12を用いて、データ処理システム200の動作例について説明する。ここでは、データ処理システム200が多段構成で複数経路構成の場合について説明する。
図12は、データ処理システム200の動作例を示す説明図である。図12において、データ処理システム200は、ノードN1~N8を含む。ノードN1は、メッセージキュー1のサービスを実行する。ノードN2は、メッセージキュー2のサービスを実行する。ノードN3は、データ処理1のサービスを実行する。
ノードN4は、メッセージキュー4のサービスを実行する。ノードN5は、メッセージキュー3のサービスを実行する。ノードN6は、データ処理2のサービスを実行する。ノードN7は、メッセージキュー5のサービスを実行する。ノードN8は、データ処理3のサービスを実行する。
ここで、ノードN1,N2は、ノードN3の前段のノード群である。ノードN3は、前段のノード群N1,N2のいずれかのノードから増強通知を受け付けたことに応じて、前段のノード群N1,N2のそれぞれの受信量の比率から、前段のノードN1,N2のそれぞれの依存比率を算出する。つぎに、ノードN3は、増強ノードの依存比率と自ノードの現在の使用リソース量および未使用リソース量から、想定リソース消費量を算出する。なお、増強ノードは、増強通知を受け付けたノードである。そして、ノードN3は、想定リソース消費量が増強条件を満たす場合に、自ノードのリソースを増強すると判断する。
また、ノードN2,N5は、ノードN6の前段のノード群である。ノードN6は、前段のノード群N2,N5のいずれかのノードから増強通知を受け付けたことに応じて、前段のノード群N2,N5のそれぞれの受信量の比率から、前段のノードN2,N5のそれぞれの依存比率を算出する。つぎに、ノードN6は、増強ノードの依存比率と自ノードの現在の使用リソース量および未使用リソース量から、自ノードの想定リソース消費量を算出する。そして、ノードN6は、想定リソース消費量が増強条件を満たす場合に、自ノードのリソースを増強すると判断する。
また、ノードN3,N6は、ノードN4の前段のノード群である。ノードN4は、前段のノード群N3,N6のいずれかのノードから増強通知を受け付けたことに応じて、前段のノード群N3,N6のそれぞれの受信量の比率から、前段のノードN3,N6のそれぞれの依存比率を算出する。つぎに、ノードN4、増強ノードの依存比率と自ノードの現在の使用リソース量および未使用リソース量から、自ノードの想定リソース消費量を算出する。そして、ノードN4は、想定リソース消費量が増強条件を満たす場合に、自ノードのリソースを増強すると判断する。
このように、データ処理システム200内の各ノードNiは、前段のノードNjのリソース増強が行われたタイミングで、自ノードでのリソース増強の要否を判断することで、リソース増強の必要性を後段のノードに伝播させていくことができる。
(機械学習を利用したリソース増強の判断処理例)
つぎに、図13を用いて、回帰分析やニューラルネットワークを用いた機械学習を利用して、自ノードのリソースを増強するか否かを判断する場合の処理例について説明する。
つぎに、図13を用いて、回帰分析やニューラルネットワークを用いた機械学習を利用して、自ノードのリソースを増強するか否かを判断する場合の処理例について説明する。
図13は、機械学習を利用したリソース増強の判断処理例を示す説明図である。学習フェーズにおいて、判断部604は、前段のノードNjのリソースが増強された第1の時点の、前段のノードNjの依存比率と、自ノードのリソースの使用状況とを取得する。前段のノードNjの依存比率は、ノードNiの前段のノード群のそれぞれの受信量(例えば、第1の時点の直近30分間の受信量)の合計に対する前段のノードNjの受信量の割合に相当する。
また、判断部604は、第1の時点以降の第2の時点の自ノードのリソースの使用状況を取得する。第2の時点は、例えば、第1の時点から、数分~数十分経過後の時点である。そして、判断部604は、取得した第1の時点の前段のノードNjの依存比率と自ノードのリソースの使用状況と第2の時点の自ノードのリソースの使用状況とを教師データとして機械学習を行って、リソース変化量モデルMを生成する。
ここで、リソース変化量モデルMは、前段のノードNjのリソースが増強されたときの前段のノードNjの依存比率と自ノードのリソースの使用状況とを入力として、将来のリソースの使用状況を出力する予測モデルである。
なお、図13中、前段のノードNjの依存比率を「増強サービスへの依存度」と表記し、自ノードのリソースの使用状況を「リソース使用状況」と表記し、将来の自ノードのリソースの使用状況を「リソース変化量」と表記している。
予測フェーズにおいて、判断部604は、生成したリソース変化量モデルMを用いて、算出された前段のノードNjの依存比率と自ノードのリソースの使用状況(現在)とに基づいて、自ノードのリソースを増強するか否かを判断する。なお、算出された前段のノードNjの依存比率とは、前段のノードNjからの増強通知に応じて算出部603によって算出された依存比率である。
具体的には、例えば、判断部604は、前段のノードNjの依存比率と自ノードのリソースの使用状況(現在)とをリソース変化量モデルMに入力することによって、想定リソース消費量を算出する。前段のノードNjの依存比率と自ノードのリソースの使用状況(現在)は、図13中、実測データに相当する。つぎに、判断部604は、算出した想定リソース消費量が増強条件を満たすか否かを判断する。
より詳細に説明すると、例えば、判断部604は、増強条件テーブル220を参照して、前段のノード数が2以上の場合の増強条件「想定リソース使用量が80[%]超え」を特定する。そして、判断部604は、算出した想定リソース消費量が80[%]より大きいか否かを判断する。ここで、想定リソース消費量が80[%]より大きい場合、判断部604は、自ノードのリソースを増強すると判断する。一方、想定リソース消費量が80[%]以下の場合には、判断部604は、自ノードのリソースを増強しないと判断する。
これにより、前段のノードNjが増強されたときの実際のリソースの使用状況の変化をもとに、将来のリソースの使用状況を予測することが可能となり、前段のノードNjが増強されたときの想定リソース消費量の予測精度の向上を図ることができる。
なお、リソース変化量モデルMは、例えば、前段のノードNjのリソースが増強されるたびに、過去に増強されたときの前段のノードNjの依存比率とリソースの使用状況と、その増強から一定時間経過後のリソースの使用状況をもとに逐次更新されることにしてもよい。また、ノードNiにおいて、自ノードのリソースを増強するか否かを判断するにあたり、例えば、前段のノードNjのリソースが増強された最初の数回は上記式(1)を用いて判断し、それ以降はリソース変化量モデルMを用いて判断することにしてもよい。
(ノードNiの増強制御処理手順)
つぎに、図14を用いて、ノードNiの増強制御処理手順について説明する。
つぎに、図14を用いて、ノードNiの増強制御処理手順について説明する。
図14は、ノードNiの増強制御処理手順の一例を示すフローチャートである。図14において、ノードNiは、ノードN1~Nnのうちの自ノードの前段のノードNjから増強通知を受け付けたか否かを判断する(ステップS1401)。ここで、ノードNiは、前段のノードNjから増強通知を受け付けるのを待つ(ステップS1401:No)。
ノードNiは、前段のノードNjから増強通知を受け付けた場合(ステップS1401:Yes)、自ノードの前段のノード群のそれぞれから所定期間T内に受信したデータの受信量を特定する(ステップS1402)。以下、前段のノードNjを「増強ノードNj」と表記する場合がある。
そして、ノードNiは、特定した前段のノード群のそれぞれから所定期間T内に受信したデータの受信量に基づいて、前段のノード群のそれぞれの依存比率を算出する(ステップS1403)。つぎに、ノードNiは、自ノードの現在のリソースの使用状況を取得する(ステップS1404)。
そして、ノードNiは、算出した増強ノードNjの依存比率と、取得した自ノードの現在のリソースの使用状況とに基づいて、自ノードの想定リソース消費量を算出する(ステップS1405)。つぎに、ノードNiは、増強条件テーブル220を参照して、算出した想定リソース消費量が閾値を超えたか否かを判断する(ステップS1406)。
ここで、想定リソース消費量が閾値以下の場合(ステップS1406:No)、ノードNiは、本フローチャートによる一連の処理を終了する。一方、想定リソース消費量が閾値を超えた場合(ステップS1406:Yes)、ノードNiは、自ノードのリソース増強を行って(ステップS1407)、本フローチャートによる一連の処理を終了する。
これにより、ノードNiは、増強ノードNjの依存比率をもとに、前段のリソース増強が自ノードのリソース不足を引き起こすと予測した場合に、前段のリソース増強に連動して、自ノードのリソースを増強することができる。
以上説明したように、実施の形態にかかるノードNiによれば、ノードN1~Nnのうち自ノードの前段のノードNjから増強通知を受け付けた場合、前段のノード群のそれぞれから所定期間T内に受信したデータの受信量に基づいて、前段のノードNj(増強ノード)の依存比率を算出することができる。前段のノードNjの依存比率は、前段のノード群のそれぞれの受信量の合計に対する、前段のノードNjの受信量の割合である。所定期間Tは、増強通知を受け付けた時点を含む一定時間の期間、例えば、直近30分の期間である。
これにより、ノードNiは、ノード間の直近のネットワーク通信量をもとに、前段のノードNjへの依存度合いを判断することができる。
また、ノードNiによれば、算出したノードNjの依存比率と自ノードのリソースの使用状況とに基づいて、自ノードのリソースを増強するか否かを判断することができる。
これにより、ノードNiは、前段のノードNjへの依存度合いをもとに、前段のノードNjの増強が自ノードにどのような影響を及ぼすかを推測して、前段のノードNjのリソース増強に連動して、自ノードのリソースを増強するか否かを判断することができる。このため、データ処理システム200において、各ノードNiは、自ノードのリソース増強を行う適切なタイミングを判断することができる。
また、ノードNiによれば、前段のノードNjの依存比率と、自ノードの現在の使用リソース量および未使用リソース量に基づいて、自ノードの想定リソース消費量(将来の使用リソース量)を算出し、算出した想定リソース消費量が閾値を超える場合に、自ノードのリソースを増強すると判断することができる。
これにより、ノードNiは、前段のノードNjの依存比率に応じて、自ノードの未使用リソースが使用されると仮定して、想定リソース消費量(将来の使用リソース量)を推測することができる。
また、ノードNiによれば、前段のノードNjのリソースが増強された第1の時点の前段のノードNjの依存比率と自ノードのリソースの使用状況と、第1の時点以降の第2の時点の自ノードのリソースの使用状況を取得することができる。つぎに、ノードNiによれば、取得した第1の時点の前段のノードNjの依存比率、自ノードのリソースの使用状況、および第2の時点の自ノードのリソースの使用状況を教師データとして機械学習を行って、リソース変化量モデルMを生成することができる。リソース変化量モデルMは、前段のノードNjのリソースが増強されたときの前段のノードNjの依存比率と自ノードのリソースの使用状況とを入力として、将来のリソースの使用状況を出力する予測モデルである。
これにより、過去に前段のノードNjが増強されたときの実際のリソースの使用状況の変化をもとに、将来のリソースの使用状況を予測するモデルを生成でき、前段のノードNjが増強されたときの想定リソース消費量の予測精度の向上を図ることができる。
また、ノードNiによれば、生成したリソース変化量モデルMを用いて、前段のノードNjから増強通知を受け付けた場合に算出した前段のノードNjの依存比率と自ノードのリソースの使用状況(現在)とに基づいて、自ノードのリソースを増強するか否かを判断することができる。
これにより、前段のノードNjが増強されたときの自ノードの将来の使用リソース量を精度よく推測することができる。
また、ノードNiによれば、データの受信量を、バイトサイズ、または、メッセージ数によって表すことができる。
これにより、ノードNiは、ノード間で送受信されるデータの特徴に応じて、バイトサイズ、または、メッセージ数のいずれの単位でデータ量を扱うかを切り替えることができる。例えば、ノードNiは、ノード間で1回の送受信でやり取りされるデータ量がほぼ一定の場合、メッセージ数でデータ量を扱うことで、バイトサイズよりも抽象化した値となり、自ノードの処理負荷を軽減することができる。また、ノードNiは、ノード間で1回の送受信でやり取りされるデータ量が変化する場合は、バイトサイズでデータ量を扱うことで、前段のノード群のそれぞれの受信量の比率を正確に把握することができる。
これらのことから、実施の形態にかかるデータ処理システム200によれば、ストリームデータ処理を含むデジタルツインサービスなどにおいて、ノードNiの前段のノードNjのリソースが増強されたときに、ノードNiにおける将来のリソース不足を予測して、事前にリソース増強を行うことが可能となる。これにより、あるサービスが増強されたときに、その後段のサービスへのデータの流入量が増加することにより生じるリソース不足を回避し、サービスの品質低下を防ぐことができる。
また、データ処理システム200によれば、例えば、従来技術1のように、個々のサービスが、自サービスの現在の使用済みリソースのみをもとにリソース増強を実施する場合に比べて、リソース不足状態を短くすることができ、利用者の利便性の向上を図ることができる。
また、データ処理システム200によれば、例えば、従来技術2のように、サービス全体のリソースを一括で増強する場合に比べて、過剰な増強を避けることができ、システム運用にかかるコストを削減することができる。
また、データ処理システム200によれば、例えば、従来技術3のように、サービス間の連携に起因する様々なパラメータ設定を事前にする必要がなく、構築者(例えば、データ処理システム200の管理者)の手間を削減することができる。また、最新のネットワーク通信量を基準にして、リソース増強の要否を判断することができるため、リソース不足(前段のノードNj)が発生した状況に応じた判断が可能となり、運用者の運用コストを削減することができる。
なお、本実施の形態で説明したデータ処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本データ処理プログラムは、ハードディスク、フレキシブルディスク、CD-ROM、DVD、USBメモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本データ処理プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)受信したデータに対して所定の処理を実行して結果を出力する複数の処理装置のうちのいずれかの処理装置に、
前記複数の処理装置のうちの自装置の前段の処理装置群の第1の処理装置からリソースを増強したことの通知を受け付けた場合、前記処理装置群のそれぞれから所定期間内に受信したデータの受信量に基づいて、前記処理装置群のそれぞれの受信量の合計に対する前記第1の処理装置の受信量の割合を算出し、
算出した前記割合と自装置のリソースの使用状況とに基づいて、自装置のリソースを増強するか否かを判断する、
処理を実行させることを特徴とするデータ処理プログラム。
前記複数の処理装置のうちの自装置の前段の処理装置群の第1の処理装置からリソースを増強したことの通知を受け付けた場合、前記処理装置群のそれぞれから所定期間内に受信したデータの受信量に基づいて、前記処理装置群のそれぞれの受信量の合計に対する前記第1の処理装置の受信量の割合を算出し、
算出した前記割合と自装置のリソースの使用状況とに基づいて、自装置のリソースを増強するか否かを判断する、
処理を実行させることを特徴とするデータ処理プログラム。
(付記2)前記リソースの使用状況は、現在の使用リソース量および未使用リソース量を含み、
前記判断する処理は、
前記割合と前記現在の使用リソース量および未使用リソース量に基づいて、自装置の将来の使用リソース量を算出し、
算出した前記将来の使用リソース量が閾値を超える場合に、自装置のリソースを増強すると判断する、
ことを特徴とする付記1に記載のデータ処理プログラム。
前記判断する処理は、
前記割合と前記現在の使用リソース量および未使用リソース量に基づいて、自装置の将来の使用リソース量を算出し、
算出した前記将来の使用リソース量が閾値を超える場合に、自装置のリソースを増強すると判断する、
ことを特徴とする付記1に記載のデータ処理プログラム。
(付記3)前記第1の処理装置のリソースが増強された第1の時点の前記処理装置群のそれぞれの受信量の合計に対する前記第1の処理装置の受信量の割合と自装置のリソースの使用状況と、前記第1の時点以降の第2の時点の自装置のリソースの使用状況とを取得し、
取得した前記第1の時点の前記割合と自装置のリソースの使用状況と、前記第2の時点の自装置のリソースの使用状況とを教師データとして機械学習を行って、前記第1の処理装置のリソースが増強されたときの前記処理装置群のそれぞれの受信量の合計に対する前記第1の処理装置の受信量の割合と自装置のリソースの使用状況とを入力として、将来のリソースの使用状況を出力する予測モデルを生成する、
処理を前記いずれかの処理装置に実行させ、
前記判断する処理は、
生成した前記予測モデルを用いて、算出した前記割合と自装置のリソースの使用状況とに基づいて、自装置のリソースを増強するか否かを判断する、
ことを特徴とする付記1または2に記載のデータ処理プログラム。
取得した前記第1の時点の前記割合と自装置のリソースの使用状況と、前記第2の時点の自装置のリソースの使用状況とを教師データとして機械学習を行って、前記第1の処理装置のリソースが増強されたときの前記処理装置群のそれぞれの受信量の合計に対する前記第1の処理装置の受信量の割合と自装置のリソースの使用状況とを入力として、将来のリソースの使用状況を出力する予測モデルを生成する、
処理を前記いずれかの処理装置に実行させ、
前記判断する処理は、
生成した前記予測モデルを用いて、算出した前記割合と自装置のリソースの使用状況とに基づいて、自装置のリソースを増強するか否かを判断する、
ことを特徴とする付記1または2に記載のデータ処理プログラム。
(付記4)前記受信量は、バイトサイズ、または、メッセージ数によって表される、ことを特徴とする付記1~3のいずれか一つに記載のデータ処理プログラム。
(付記5)前記所定期間は、前記通知を受け付けた時点を含む一定時間の期間である、ことを特徴とする付記1~4のいずれか一つに記載のデータ処理プログラム。
(付記6)受信したデータに対して所定の処理を実行して結果を出力する複数の処理装置のうちのいずれかの処理装置が、
前記複数の処理装置のうちの自装置の前段の処理装置群の第1の処理装置からリソースを増強したことの通知を受け付けた場合、前記処理装置群のそれぞれから所定期間内に受信したデータの受信量に基づいて、前記処理装置群のそれぞれの受信量の合計に対する前記第1の処理装置の受信量の割合を算出し、
算出した前記割合と自装置のリソースの使用状況とに基づいて、自装置のリソースを増強するか否かを判断する、
処理を実行することを特徴とするデータ処理方法。
前記複数の処理装置のうちの自装置の前段の処理装置群の第1の処理装置からリソースを増強したことの通知を受け付けた場合、前記処理装置群のそれぞれから所定期間内に受信したデータの受信量に基づいて、前記処理装置群のそれぞれの受信量の合計に対する前記第1の処理装置の受信量の割合を算出し、
算出した前記割合と自装置のリソースの使用状況とに基づいて、自装置のリソースを増強するか否かを判断する、
処理を実行することを特徴とするデータ処理方法。
(付記7)受信したデータに対して所定の処理を実行して結果を出力する複数の処理装置を含み、
前記複数の処理装置のうちのいずれかの処理装置は、
前記複数の処理装置のうちの自装置の前段の処理装置群の第1の処理装置からリソースを増強したことの通知を受け付けた場合、前記処理装置群のそれぞれから所定期間内に受信したデータの受信量に基づいて、前記処理装置群のそれぞれの受信量の合計に対する前記第1の処理装置の受信量の割合を算出し、
算出した前記割合と自装置のリソースの使用状況とに基づいて、自装置のリソースを増強するか否かを判断する、
ことを特徴とするデータ処理システム。
前記複数の処理装置のうちのいずれかの処理装置は、
前記複数の処理装置のうちの自装置の前段の処理装置群の第1の処理装置からリソースを増強したことの通知を受け付けた場合、前記処理装置群のそれぞれから所定期間内に受信したデータの受信量に基づいて、前記処理装置群のそれぞれの受信量の合計に対する前記第1の処理装置の受信量の割合を算出し、
算出した前記割合と自装置のリソースの使用状況とに基づいて、自装置のリソースを増強するか否かを判断する、
ことを特徴とするデータ処理システム。
101,102,103 処理装置
200 データ処理システム
201 管理端末
210 ネットワーク
220 増強条件テーブル
300 バス
301 CPU
302 メモリ
303 ディスクドライブ
304 ディスク
305 通信I/F
306 可搬型記録媒体I/F
307 可搬型記録媒体
601 受付部
602 特定部
603 算出部
604 判断部
605 増強制御部
700 受信量収集テーブル
800,900,1000,1100 通信状況テーブル
N1~Nn,Ni ノード
200 データ処理システム
201 管理端末
210 ネットワーク
220 増強条件テーブル
300 バス
301 CPU
302 メモリ
303 ディスクドライブ
304 ディスク
305 通信I/F
306 可搬型記録媒体I/F
307 可搬型記録媒体
601 受付部
602 特定部
603 算出部
604 判断部
605 増強制御部
700 受信量収集テーブル
800,900,1000,1100 通信状況テーブル
N1~Nn,Ni ノード
Claims (6)
- 受信したデータに対して所定の処理を実行して結果を出力する複数の処理装置のうちのいずれかの処理装置に、
前記複数の処理装置のうちの自装置の前段の処理装置群の第1の処理装置からリソースを増強したことの通知を受け付けた場合、前記処理装置群のそれぞれから所定期間内に受信したデータの受信量に基づいて、前記処理装置群のそれぞれの受信量の合計に対する前記第1の処理装置の受信量の割合を算出し、
算出した前記割合と自装置のリソースの使用状況とに基づいて、自装置のリソースを増強するか否かを判断する、
処理を実行させることを特徴とするデータ処理プログラム。 - 前記リソースの使用状況は、現在の使用リソース量および未使用リソース量を含み、
前記判断する処理は、
前記割合と前記現在の使用リソース量および未使用リソース量に基づいて、自装置の将来の使用リソース量を算出し、
算出した前記将来の使用リソース量が閾値を超える場合に、自装置のリソースを増強すると判断する、
ことを特徴とする請求項1に記載のデータ処理プログラム。 - 前記第1の処理装置のリソースが増強された第1の時点の前記処理装置群のそれぞれの受信量の合計に対する前記第1の処理装置の受信量の割合と自装置のリソースの使用状況と、前記第1の時点以降の第2の時点の自装置のリソースの使用状況とを取得し、
取得した前記第1の時点の前記割合と自装置のリソースの使用状況と、前記第2の時点の自装置のリソースの使用状況とを教師データとして機械学習を行って、前記第1の処理装置のリソースが増強されたときの前記処理装置群のそれぞれの受信量の合計に対する前記第1の処理装置の受信量の割合と自装置のリソースの使用状況とを入力として、将来のリソースの使用状況を出力する予測モデルを生成する、
処理を前記いずれかの処理装置に実行させ、
前記判断する処理は、
生成した前記予測モデルを用いて、算出した前記割合と自装置のリソースの使用状況とに基づいて、自装置のリソースを増強するか否かを判断する、
ことを特徴とする請求項1または2に記載のデータ処理プログラム。 - 前記受信量は、バイトサイズ、または、メッセージ数によって表される、ことを特徴とする請求項1~3のいずれか一つに記載のデータ処理プログラム。
- 受信したデータに対して所定の処理を実行して結果を出力する複数の処理装置のうちのいずれかの処理装置が、
前記複数の処理装置のうちの自装置の前段の処理装置群の第1の処理装置からリソースを増強したことの通知を受け付けた場合、前記処理装置群のそれぞれから所定期間内に受信したデータの受信量に基づいて、前記処理装置群のそれぞれの受信量の合計に対する前記第1の処理装置の受信量の割合を算出し、
算出した前記割合と自装置のリソースの使用状況とに基づいて、自装置のリソースを増強するか否かを判断する、
処理を実行することを特徴とするデータ処理方法。 - 受信したデータに対して所定の処理を実行して結果を出力する複数の処理装置を含み、
前記複数の処理装置のうちのいずれかの処理装置は、
前記複数の処理装置のうちの自装置の前段の処理装置群の第1の処理装置からリソースを増強したことの通知を受け付けた場合、前記処理装置群のそれぞれから所定期間内に受信したデータの受信量に基づいて、前記処理装置群のそれぞれの受信量の合計に対する前記第1の処理装置の受信量の割合を算出し、
算出した前記割合と自装置のリソースの使用状況とに基づいて、自装置のリソースを増強するか否かを判断する、
ことを特徴とするデータ処理システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021100932A JP2023000232A (ja) | 2021-06-17 | 2021-06-17 | データ処理プログラム、データ処理方法およびデータ処理システム |
US17/712,388 US20220407821A1 (en) | 2021-06-17 | 2022-04-04 | Computer-readable recording medium storing data processing program, data processing method, and data processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021100932A JP2023000232A (ja) | 2021-06-17 | 2021-06-17 | データ処理プログラム、データ処理方法およびデータ処理システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023000232A true JP2023000232A (ja) | 2023-01-04 |
Family
ID=84489637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021100932A Pending JP2023000232A (ja) | 2021-06-17 | 2021-06-17 | データ処理プログラム、データ処理方法およびデータ処理システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20220407821A1 (ja) |
JP (1) | JP2023000232A (ja) |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6525737B1 (en) * | 1998-08-20 | 2003-02-25 | Apple Computer, Inc. | Graphics processor with pipeline state storage and retrieval |
US6466980B1 (en) * | 1999-06-17 | 2002-10-15 | International Business Machines Corporation | System and method for capacity shaping in an internet environment |
US8650470B2 (en) * | 2003-03-20 | 2014-02-11 | Arm Limited | Error recovery within integrated circuit |
US20150081470A1 (en) * | 2013-09-18 | 2015-03-19 | W.W. Grainger, Inc. | Methods and apparatus for providing supplemental content in communications sharing a webpage |
EP3128423A1 (en) * | 2015-08-06 | 2017-02-08 | Hewlett-Packard Enterprise Development LP | Distributed event processing |
US10681110B2 (en) * | 2016-05-04 | 2020-06-09 | Radware, Ltd. | Optimized stream management |
US10380567B2 (en) * | 2016-09-30 | 2019-08-13 | Capital One Services, Llc | Systems and methods for providing cash redemption to a third party |
US10826840B1 (en) * | 2017-07-23 | 2020-11-03 | Barefoot Networks, Inc. | Multiple copies of stateful tables |
US11360804B2 (en) * | 2018-06-29 | 2022-06-14 | International Business Machines Corporation | Resource management for parent child workload |
US10901797B2 (en) * | 2018-11-06 | 2021-01-26 | International Business Machines Corporation | Resource allocation |
TWI725744B (zh) * | 2020-02-19 | 2021-04-21 | 先智雲端數據股份有限公司 | 透過多層次相關性建立系統資源預測及資源管理模型的方法 |
US20210312336A1 (en) * | 2020-04-03 | 2021-10-07 | International Business Machines Corporation | Federated learning of machine learning model features |
-
2021
- 2021-06-17 JP JP2021100932A patent/JP2023000232A/ja active Pending
-
2022
- 2022-04-04 US US17/712,388 patent/US20220407821A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220407821A1 (en) | 2022-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112153700B (zh) | 一种网络切片资源管理方法及设备 | |
WO2015192627A1 (zh) | 一种业务调度的方法、装置及系统 | |
CN104901989B (zh) | 一种现场服务提供系统及方法 | |
WO2015101089A1 (zh) | 大规模集群的管理方法、装置和系统 | |
JP6823670B2 (ja) | 複雑なシステムにおけるボトルネックの検出及び予測 | |
CN112148468B (zh) | 一种资源调度方法、装置、电子设备及存储介质 | |
CN109615022B (zh) | 模型上线配置方法和装置 | |
CN110516714B (zh) | 一种特征预测方法、系统及引擎 | |
JP7006607B2 (ja) | 分散処理システム、分散処理方法、及び記録媒体 | |
CN111966289A (zh) | 基于Kafka集群的分区优化方法和系统 | |
CN112925637A (zh) | 用于一边缘运算网络的负载平衡装置及方法 | |
US11663505B2 (en) | Estimating performance and required resources from shift-left analysis | |
CN114065864A (zh) | 联邦学习方法、联邦学习装置、电子设备以及存储介质 | |
CN114253695A (zh) | 一种计算节点资源信息更新方法、节点和存储介质 | |
WO2021238508A1 (zh) | 一种数据处理的方法、装置和设备 | |
JP2023000232A (ja) | データ処理プログラム、データ処理方法およびデータ処理システム | |
CN114035906A (zh) | 虚拟机迁移方法、装置、电子设备及存储介质 | |
JPWO2016084327A1 (ja) | 資源予測装置、資源予測方法、資源予測プログラムおよび分散処理システム | |
CN113364652A (zh) | 网卡流量测试方法、装置、网络设备、系统及可读介质 | |
Kuppusamy et al. | Switch bandwidth congestion prediction in cloud environment | |
CN113760176A (zh) | 数据存储方法和装置 | |
CN112714037A (zh) | 一种线上服务质量的保障性能评估方法、装置及设备 | |
WO2021250830A1 (ja) | 要求通信品質推定装置、要求通信品質推定方法及び要求通信品質推定プログラム | |
CN111381956B (zh) | 一种任务处理的方法、装置及云分析系统 | |
CN113839794B (zh) | 数据处理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240307 |