(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022104371
(43)【公開日】2022-07-08
(54)【発明の名称】仮想通貨マイニング用計算機の停止制御装置、起動制御装置及び制御装置、並びに制御プログラム
(51)【国際特許分類】
H02J 3/00 20060101AFI20220701BHJP
H02J 3/32 20060101ALI20220701BHJP
H02J 3/38 20060101ALI20220701BHJP
G06Q 20/06 20120101ALI20220701BHJP
【FI】
H02J3/00 170
H02J3/32
H02J3/38 120
G06Q20/06
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2020219548
(22)【出願日】2020-12-28
(71)【出願人】
【識別番号】521003313
【氏名又は名称】株式会社afterFIT
(74)【代理人】
【識別番号】100119758
【弁理士】
【氏名又は名称】菊地 保宏
(72)【発明者】
【氏名】横田 英俊
【テーマコード(参考)】
5G066
5L055
【Fターム(参考)】
5G066AA02
5G066AE03
5G066AE07
5G066AE09
5G066HB06
5G066HB09
5L055AA12
(57)【要約】
【課題】、再生可能エネルギーを電源としても、仮想通貨のマイニング機会を最大化することができ、より多くの報酬を得ることができる。
【解決手段】再生可能エネルギーを電源として仮想通貨マイニングを実行する複数の計算機1(以下、計算機群)を制御する計算機制御装置7は、現在から将来に亘る推定蓄電量、計算機群の消費電力と報酬に関する情報を取得する情報取得部11と、取得した情報に基づいて将来電力不足が生じるか否かを判定する停止判定部12と、取得した情報に基づいて電力不足が生じる時点において報酬の低い計算機1を優先的に停止させる計算機停止部13と、取得した情報に基づいて現在停止中の計算機群の一部が将来起動可能か否かを判定する起動判定部14と、取得した情報に基づいて起動可能な時点から所定の待機時間内において報酬の高い計算機1を優先的に起動させる計算機起動部15と、を備える。
【選択図】
図4
【特許請求の範囲】
【請求項1】
再生可能エネルギーを電力源として仮想通貨のマイニングを実行する複数の計算機の停止を制御する停止制御装置であって、
前記複数の計算機ごとに、マイニングの単位であるブロックの計算に要する電力量と、該ブロックの計算において得られる報酬と、を対応付けたデータ(以下、電力報酬データという)を取得する電力報酬データ取得部と、
前記電力源の現時点から将来に亘って予測される蓄電容量に関する時系列データ(以下、蓄電容量データという)を取得する蓄電容量データ取得部と、
前記電力報酬データの電力量及び前記蓄電容量データに基づいて、現在稼働中の前記複数の計算機において将来、電力不足が生じるか否かを判定する停止判定部と、
前記停止判定部により、将来、電力不足が生じると判定された場合、前記電力報酬データの電力量及び前記蓄電容量データに基づいて算出された電力不足が生じる時点(以下、第一の停止時点という)において少なくとも一部の前記計算機を停止させる第一の停止処理を実行する第一の停止処理実行部と、
を備え、
前記第一の停止処理実行部は、
前記電力報酬データ及び前記蓄電容量データに基づいて、前記第一の停止時点の蓄電容の範囲内において稼働可能な1又は複数の前記計算機のうち、報酬が最大となる1又は複数の前記計算機(以下、第一の稼働計算機群という)を導出する第一の稼働計算機導出部と、
前記第一の停止時点において、前記複数の計算機のうち、前記第一の稼働計算機導出部が導出した前記第一の稼働計算機群を除く前記計算機を停止させる第一の停止制御部と、
を備えることを特徴とする停止制御装置。
【請求項2】
再生可能エネルギーを電力源として仮想通貨のマイニングを実行する複数の計算機の停止を制御する停止制御装置であって、
前記複数の計算機ごとに、マイニングの単位であるブロックの計算に要する電力量と、該ブロックの計算において得られる報酬と、を対応付けたデータ(以下、電力報酬データという)を取得する電力報酬データ取得部と、
前記電力源の現時点から将来に亘って予測される蓄電容量に関する時系列データ(以下、蓄電容量データという)を取得する蓄電容量データ取得部と、
前記電力報酬データの電力量及び前記蓄電容量データに基づいて、現在稼働中の前記複数の計算機において将来、電力不足が生じるか否かを判定する停止判定部と、
前記停止判定部により将来、電力不足が生じると判定された場合、前記電力報酬データの電力量及び前記蓄電容量データに基づいて算出された電力不足が生じる時点(以下、第二の停止時点という)において少なくとも一部の前記計算機を停止させる第二の停止処理を実行する第二の停止処理実行部と、
を備え、
前記第二の停止処理実行部は、
前記電力報酬データに基づいて、前記複数の計算機ごとに、報酬の電力量に対する割合(以下、基本利益率という)を算出する基本利益率算出部と、
前記電力報酬データ及び前記蓄電容量データに基づいて、前記第二の停止時点の蓄電容量の範囲内において稼働可能な1又は複数の前記計算機のうち、前記基本利益率の大きさに従って1又は複数の前記計算機(以下、第二の稼働計算機群という)を導出する第二の稼働計算機導出部と、
前記第二の停止時点において、前記複数の計算機のうち、前記第二の稼働計算機導出部が導出した前記第二の稼働計算機群を除く前記計算機を停止させる第二の停止制御部と、
を備えることを特徴とする停止制御装置。
【請求項3】
再生可能エネルギーを電力源として仮想通貨のマイニングを実行する複数の計算機の起動を制御する起動制御装置であって、
前記複数の計算機ごとに、マイニングの単位であるブロックの計算に要する電力量と、該ブロックの計算において得られる報酬と、を対応付けたデータ(以下、電力報酬データという)を取得する電力報酬データ取得部と、
前記電力源の現時点から将来に亘って予測される蓄電容量に関する時系列データ(以下、蓄電容量データという)を取得する蓄電容量データ取得部と、
前記電力報酬データの電力量及び前記蓄電容量データに基づいて、現在停止中の前記複数の計算機のうち少なくとも一部の前記計算機が将来、起動可能か否かを、判定する起動判定部と、
前記起動判定部により、将来、起動可能と判定された場合、前記電力報酬データの電力量及び前記蓄電容量データに基づいて算出された起動可能な時点(以下、第一の起動可能時点という)から所定の待機時間内において前記少なくとも一部の計算機を起動させる第一の起動処理を実行する第一の起動処理実行部と、
を備え、
前記第一の起動処理実行部は、
前記第一の起動可能時点から前記所定の待機時間内に設けられた複数の時点(以下、複数の待機時点という)のそれぞれにおいて、前記電力報酬データ及び前記蓄電容量データに基づいて、前記待機時点の蓄電容の範囲内において稼働可能な1又は複数の前記計算機のうち、報酬が最大となる1又は複数の前記計算機(以下、第一の起動計算機群候補という)を導出する第一の稼働計算機群候補導出部と、
前記複数の待機時点のそれぞれにおいて導出された前記第一の起動計算機群候補の報酬の、前記第一の起動可能時点から該待機時点までの時間に対する割合(以下、獲得利益率という)を算出する第一の獲得利益率算出部と、
前記第一の獲得利益率算出部により算出された、前記複数の待機時点のそれぞれの前記獲得利益率のうち、前記獲得利益率が最も高い前記待機時点(以下、第一の起動時点という)を算出する第一の起動時点算出部と、
前記第一の起動時点において、前記複数の計算機のうち、前記第一の起動時点において導出された前記第一の起動計算機群候補を起動させる第一の起動制御部と、
を備えることを特徴とする起動制御装置。
【請求項4】
再生可能エネルギーを電力源として仮想通貨のマイニングを実行する複数の計算機の起動を制御する起動制御装置であって、
前記複数の計算機ごとに、マイニングの単位であるブロックの計算に要する電力量と、該ブロックの計算において得られる報酬と、を対応付けたデータ(以下、電力報酬データという)を取得する電力報酬データ取得部と、
前記電力源の現時点から将来に亘って予測される蓄電容量に関する時系列データ(以下、蓄電容量データという)を取得する蓄電容量データ取得部と、
前記電力報酬データの電力量及び前記蓄電容量データに基づいて、現在停止中の前記複数の計算機のうち少なくとも一部の前記計算機が将来、起動可能か否かを、判定する起動判定部と、
前記起動判定部により、将来、起動可能と判定された場合、前記電力報酬データの電力量及び前記蓄電容量データに基づいて算出された起動可能な時点(以下、第二の起動可能時点という)から所定の待機時間内において前記少なくとも一部の計算機を起動させる第二の起動処理を実行する第二の起動処理実行部と、
を備え、
前記第二の起動処理実行部は、
前記電力報酬データに基づいて、前記複数の計算機ごとに、報酬の電力量に対する割合(以下、基本利益率という)を算出する基本利益率算出部と、
前記第二の起動可能時点から前記所定の待機時間内に設けられた複数の時点(以下、複数の待機時点という)のそれぞれにおいて、前記電力報酬データ及び前記蓄電容量データに基づいて、前記待機時点の蓄電容の範囲内において稼働可能な1又は複数の前記計算機のうち、前記基本利益率の大きさに従って1又は複数の前記計算機(以下、第二の起動計算機群候補という)を導出する第二の稼働計算機群候補導出部と、
前記複数の待機時点のそれぞれにおいて導出された前記第二の起動計算機群候補の報酬の、前記第二の起動可能時点から該待機時点までの時間に対する割合(以下、獲得利益率という)を算出する第二の獲得利益率算出部と、
前記第二の獲得利益率算出部により算出された、前記複数の待機時点のそれぞれの前記獲得利益率のうち、前記獲得利益率が最も高い待機時点(以下、第二の起動時点という)を算出する第二の起動時点算出部と、
前記第二の起動時点において、前記複数の計算機のうち、前記第二の起動時点において導出された前記第二の起動計算機群候補を起動させる第二の起動制御部と、
を備えることを特徴とする起動制御装置。
【請求項5】
請求項1又は2記載の停止制御装置と、請求項3又は4記載の起動制御装置と、を備えることを特徴とする制御装置。
【請求項6】
コンピュータを、請求項5記載の制御装置の各部として機能させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想通貨のマイニングを実行する計算機の停止又は起動に関する制御技術に関し、特に、再生可能エネルギーを電力源として仮想通貨のマイニングを実行する場合に好適に適用できる。
【背景技術】
【0002】
ビットコインに代表される仮想通貨の取引は、ブロックチェーンと呼ばれる電子的な台帳に追記される形で保存され、その整合性を取るための計算処理が定期的に行われている。この追記作業には膨大な計算量が要求されるため、不特定多数の計算機が並列的に計算処理を実行し、その対価として仮想通貨を受け取るようになっている。このような計算処理に対して報酬を受け取る行為は、マイニングと呼ばれ、仮想通貨ごとにおおよそ規定される時間毎に計算作業と報酬受領を繰り返している。すなわち、各計算機は、取引の計算単位であるブロックごとに指定された計算を実行し、一定時間内に結果を送信し、合意されることにより報酬を受け取るようになっている。
【0003】
ところで、マイニングを継続的に行いかつ報酬を得るためには、計算機を稼働させる電力を継続的かつ安定的に供給する必要がある。電力会社が供給する電力を利用する場合は安定的な電源が期待できるが、太陽光や風力のような再生可能エネルギーを電源とした場合には必ずしも安定的に電力が供給できない状況が発生し得る。そのため、再生可能エネルギーを電源とした場合、マイニングを継続的に行うことは容易ではない。
【0004】
本発明に関連する技術として、例えば、特許文献1には、ブロックチェーンを用いて契約に合意する技術が開示されている。また、特許文献2には、電力供給の安定化を実現するコンピュータシステムが開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2017-220710号公報
【特許文献2】特開2019-153032号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
再生可能エネルギーを電源とした場合、マイニングを行う場合には、以下の問題がある。複数の計算機がマイニング処理を実行している最中に、複数の計算機に対して十分な電力供給ができない場合にはすべての計算機が停止してしまうため、計算が完了しないもしくは結果を送信できなくなり、報酬を得ることができなくなる。すなわち、このような場合には、稼働していたすべての計算機に供給した電力が無駄になるという問題がある。
【0007】
また、停止した計算機を起動させる場合、蓄電池などを用いて全ての計算機の稼働に必要な電力量に達するまで蓄電を継続しなければならないため、それまではマイニングを実行することができず報酬が得られないという問題がある。
【0008】
本発明は上記の事情を鑑みてなされたものであり、再生可能エネルギーを電源としても、仮想通貨のマイニング機会を最大化することができ、より多くの報酬を得ることができる仮想通貨マイニング用計算機の停止制御装置、起動制御装置及び制御装置、並びに制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するため、本発明に係る仮想通貨マイニング用計算機の停止制御装置は、その一態様として、
再生可能エネルギーを電力源として仮想通貨のマイニングを実行する複数の計算機の停止を制御する停止制御装置であって、
前記複数の計算機ごとに、マイニングの単位であるブロックの計算に要する電力量と、該ブロックの計算において得られる報酬と、を対応付けたデータ(以下、電力報酬データという)を取得する電力報酬データ取得部と、
前記電力源の現時点から将来に亘って予測される蓄電容量に関する時系列データ(以下、蓄電容量データという)を取得する蓄電容量データ取得部と、
前記電力報酬データの電力量及び前記蓄電容量データに基づいて、現在稼働中の前記複数の計算機において将来、電力不足が生じるか否かを判定する停止判定部と、
前記停止判定部により、将来、電力不足が生じると判定された場合、前記電力報酬データの電力量及び前記蓄電容量データに基づいて算出された電力不足が生じる時点(以下、第一の停止時点という)において少なくとも一部の前記計算機を停止させる第一の停止処理を実行する第一の停止処理実行部と、
を備え、
前記第一の停止処理実行部は、
前記電力報酬データ及び前記蓄電容量データに基づいて、前記第一の停止時点の蓄電容の範囲内において稼働可能な1又は複数の前記計算機のうち、報酬が最大となる1又は複数の前記計算機(以下、第一の稼働計算機群という)を導出する第一の稼働計算機導出部と、
前記第一の停止時点において、前記複数の計算機のうち、前記第一の稼働計算機導出部が導出した前記第一の稼働計算機群を除く前記計算機を停止させる第一の停止制御部と、
を備えることを要旨とする。
【0010】
また、本発明に係る仮想通貨マイニング用計算機の停止制御装置は、別の一態様として、
再生可能エネルギーを電力源として仮想通貨のマイニングを実行する複数の計算機の停止を制御する停止制御装置であって、
前記複数の計算機ごとに、マイニングの単位であるブロックの計算に要する電力量と、該ブロックの計算において得られる報酬と、を対応付けたデータ(以下、電力報酬データという)を取得する電力報酬データ取得部と、
前記電力源の現時点から将来に亘って予測される蓄電容量に関する時系列データ(以下、蓄電容量データという)を取得する蓄電容量データ取得部と、
前記電力報酬データの電力量及び前記蓄電容量データに基づいて、現在稼働中の前記複数の計算機において将来、電力不足が生じるか否かを判定する停止判定部と、
前記停止判定部により将来、電力不足が生じると判定された場合、前記電力報酬データの電力量及び前記蓄電容量データに基づいて算出された電力不足が生じる時点(以下、第二の停止時点という)において少なくとも一部の前記計算機を停止させる第二の停止処理を実行する第二の停止処理実行部と、
を備え、
前記第二の停止処理実行部は、
前記電力報酬データに基づいて、前記複数の計算機ごとに、報酬の電力量に対する割合(以下、基本利益率という)を算出する基本利益率算出部と、
前記電力報酬データ及び前記蓄電容量データに基づいて、前記第二の停止時点の蓄電容量の範囲内において稼働可能な1又は複数の前記計算機のうち、前記基本利益率の大きさに従って1又は複数の前記計算機(以下、第二の稼働計算機群という)を導出する第二の稼働計算機導出部と、
前記第二の停止時点において、前記複数の計算機のうち、前記第二の稼働計算機導出部が導出した前記第二の稼働計算機群を除く前記計算機を停止させる第二の停止制御部と、
を備えることを要旨とする。
【0011】
また、本発明に係る仮想通貨マイニング用計算機の起動制御装置は、その一態様として、
再生可能エネルギーを電力源として仮想通貨のマイニングを実行する複数の計算機の起動を制御する起動制御装置であって、
前記複数の計算機ごとに、マイニングの単位であるブロックの計算に要する電力量と、該ブロックの計算において得られる報酬と、を対応付けたデータ(以下、電力報酬データという)を取得する電力報酬データ取得部と、
前記電力源の現時点から将来に亘って予測される蓄電容量に関する時系列データ(以下、蓄電容量データという)を取得する蓄電容量データ取得部と、
前記電力報酬データの電力量及び前記蓄電容量データに基づいて、現在停止中の前記複数の計算機のうち少なくとも一部の前記計算機が将来、起動可能か否かを、判定する起動判定部と、
前記起動判定部により、将来、起動可能と判定された場合、前記電力報酬データの電力量及び前記蓄電容量データに基づいて算出された起動可能な時点(以下、第一の起動可能時点という)から所定の待機時間内において前記少なくとも一部の計算機を起動させる第一の起動処理を実行する第一の起動処理実行部と、
を備え、
前記第一の起動処理実行部は、
前記第一の起動可能時点から前記所定の待機時間内に設けられた複数の時点(以下、複数の待機時点という)のそれぞれにおいて、前記電力報酬データ及び前記蓄電容量データに基づいて、前記待機時点の蓄電容の範囲内において稼働可能な1又は複数の前記計算機のうち、報酬が最大となる1又は複数の前記計算機(以下、第一の起動計算機群候補という)を導出する第一の稼働計算機群候補導出部と、
前記複数の待機時点のそれぞれにおいて導出された前記第一の起動計算機群候補の報酬の、前記第一の起動可能時点から該待機時点までの時間に対する割合(以下、獲得利益率という)を算出する第一の獲得利益率算出部と、
前記第一の獲得利益率算出部により算出された、前記複数の待機時点のそれぞれの前記獲得利益率のうち、前記獲得利益率が最も高い前記待機時点(以下、第一の起動時点という)を算出する第一の起動時点算出部と、
前記第一の起動時点において、前記複数の計算機のうち、前記第一の起動時点において導出された前記第一の起動計算機群候補を起動させる第一の起動制御部と、
を備えることを要旨とする。
【0012】
また、本発明に係る仮想通貨マイニング用計算機の起動制御装置は、別の一態様として、
再生可能エネルギーを電力源として仮想通貨のマイニングを実行する複数の計算機の起動を制御する起動制御装置であって、
前記複数の計算機ごとに、マイニングの単位であるブロックの計算に要する電力量と、該ブロックの計算において得られる報酬と、を対応付けたデータ(以下、電力報酬データという)を取得する電力報酬データ取得部と、
前記電力源の現時点から将来に亘って予測される蓄電容量に関する時系列データ(以下、蓄電容量データという)を取得する蓄電容量データ取得部と、
前記電力報酬データの電力量及び前記蓄電容量データに基づいて、現在停止中の前記複数の計算機のうち少なくとも一部の前記計算機が将来、起動可能か否かを、判定する起動判定部と、
前記起動判定部により、将来、起動可能と判定された場合、前記電力報酬データの電力量及び前記蓄電容量データに基づいて算出された起動可能な時点(以下、第二の起動可能時点という)から所定の待機時間内において前記少なくとも一部の計算機を起動させる第二の起動処理を実行する第二の起動処理実行部と、
を備え、
前記第二の起動処理実行部は、
前記電力報酬データに基づいて、前記複数の計算機ごとに、報酬の電力量に対する割合(以下、基本利益率という)を算出する基本利益率算出部と、
前記第二の起動可能時点から前記所定の待機時間内に設けられた複数の時点(以下、複数の待機時点という)のそれぞれにおいて、前記電力報酬データ及び前記蓄電容量データに基づいて、前記待機時点の蓄電容の範囲内において稼働可能な1又は複数の前記計算機のうち、前記基本利益率の大きさに従って1又は複数の前記計算機(以下、第二の起動計算機群候補という)を導出する第二の稼働計算機群候補導出部と、
前記複数の待機時点のそれぞれにおいて導出された前記第二の起動計算機群候補の報酬の、前記第二の起動可能時点から該待機時点までの時間に対する割合(以下、獲得利益率という)を算出する第二の獲得利益率算出部と、
前記第二の獲得利益率算出部により算出された、前記複数の待機時点のそれぞれの前記獲得利益率のうち、前記獲得利益率が最も高い待機時点(以下、第二の起動時点という)を算出する第二の起動時点算出部と、
前記第二の起動時点において、前記複数の計算機のうち、前記第二の起動時点において導出された前記第二の起動計算機群候補を起動させる第二の起動制御部と、
を備えることを要旨とする。
【0013】
また、本発明に係る仮想通貨マイニング用計算機の制御装置は、その一態様として、上記停止制御装置と、上記起動制御装置と、を備えることを要旨とする。
【0014】
また、本発明に係る仮想通貨マイニング用計算機の制御プログラムは、その一態様として、コンピュータを、上記制御装置の各部として機能させることを要旨とする。
【発明の効果】
【0015】
本発明によれば、再生可能エネルギーを電源としても、仮想通貨のマイニング機会を最大化でき、より多くの報酬を得ることができる。
【図面の簡単な説明】
【0016】
【
図1】本発明の実施の形態に係る仮想通貨マイニングシステムの概略構成図である。
【
図2】本発明の実施の形態に係る仮想通貨マイニングシステムの各計算機の処理と消費電力の関係を示す模式図である。
【
図3】本発明の実施の形態に係る仮想通貨マイニングシステムの蓄電池の推定蓄電量を説明する図である。
【
図4】本発明の実施の形態に係る仮想通貨マイニングシステムの計算機制御装置の機能概略図である。
【
図5】本発明の実施の形態に係る仮想通貨マイニングシステムの第一の停止処理の概要を説明する図である。
【
図6】本発明の実施の形態に係る仮想通貨マイニングシステムの第一の停止処理の流れを示すフローチャートである。
【
図7】本発明の実施の形態に係る仮想通貨マイニングシステムの第二の停止処理の概要を説明する図である。
【
図8】本発明の実施の形態に係る仮想通貨マイニングシステムの第二の停止処理の流れを示すフローチャートである。
【
図9】本発明の実施の形態に係る仮想通貨マイニングシステムの第一の起動処理の概要を説明する図である。
【
図10】本発明の実施の形態に係る仮想通貨マイニングシステムの第一の起動処理の流れを示すフローチャートである。
【
図11】本発明の実施の形態に係る仮想通貨マイニングシステムの第二の起動処理の概要を説明する図である。
【
図12】本発明の実施の形態に係る仮想通貨マイニングシステムの第二の起動処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0017】
以下、本発明の実施の形態について図面を用いて説明する。
【0018】
<仮想通貨マイニングシステムの構成>
図1は、本発明の実施の形態に係る仮想通貨マイニングシステム10の概略構成図である。仮想通貨マイニングシステム10は、太陽光や風力などの再生可能エネルギーを電源として仮想通貨のマイニングを実行する情報処理システムである。仮想通貨マイニングシステム10は、
図1に示すように、複数の計算機1と、ブロックチェーン・ネットワーク2と、発電装置3と、蓄電池4と、発電量推定情報提供装置5と、発電量・蓄電量推定装置6と、計算機制御装置7と、を備える。
【0019】
複数の計算機1は、マイニング用の演算処理装置である。複数の計算機1は、それぞれ、ブロックチェーン・ネットワーク2に接続されている。複数の計算機1は、ブロックチェーン・ネットワーク2からマイニングに必要な情報を受信した後、マイニングの演算処理を実行し、その結果を適時ブロックチェーン・ネットワーク2に送信することにより報酬を得るように構成されている。
【0020】
一般に、仮想通貨はそれぞれのブロックチェーン・ネットワーク2を持っているため、計算機1は、マイニングの対象となる仮想通貨のブロックチェーン・ネットワーク2に接続されている。ここで、各仮想通貨のブロックチェーンは、マイニングの単位であるブロックから構成されており、マイニングにかかる平均計算時間やマイニングが成功した場合の報酬は、仮想通貨ごとに異なっている。また、各計算機1は、1つのブロックのマイニングの計算に必要な消費電力が異なっている。
【0021】
図2は、N個の計算機1
i(i=1、2、…、N)がブロックチェーン・ネットワーク2に接続されている場合の各計算機1
iの処理と消費電力の関係を示す模式図である。縦軸は電力、横軸は時間を示している。
【0022】
ここで、各計算機1iの消費電力をPiとした場合、N個の計算機1iに必要な電力は、各計算機1iの消費電力Piの合計であるΣPiとなり、τ時間稼働させた場合の消費電力量はΣPiτとなる。各計算機1iは、ブロック毎のマイニングに係る計算を行い、その結果を送信してブロック毎の報酬を受け取る処理を繰り返す。
【0023】
今、現在時刻t0からτ時間後の時刻t*において、稼働中のN個の計算機1iに十分な電力を供給できなくなると、全ての計算機1iが停止し、実行中のマイニングが完了しないため、報酬を得ることができない状況が発生する。また、停止中のN個の計算機1iの全てに十分な電力を供給するのに必要な蓄電量が得られてからN個の計算機1iを稼働させるとなると、その時間までは報酬が全く得られず仮想通貨の適時の利用に支障をきたす状況が発生する。本実施の形態の仮想通貨マイニングシステム10は、このような2つの問題を解決する情報処理システムとなっている。
【0024】
発電装置3は、太陽光や風力などの再生可能エネルギーに基づく発電装置であり、蓄電池4は、発電装置3により発電されたエネルギーを蓄電する蓄電装置である。
【0025】
発電量推定情報提供装置5は、発電装置3の将来の発電量を推定するための情報を提供する装置であり、例えば、天気予報、日照量などの気象データや過去の統計データが挙げられる。
【0026】
発電量・蓄電量推定装置6は、発電量推定情報提供装置5から提供された情報に基づいて、発電装置3の将来の発電量を推定するとともに、蓄電池4の現在の蓄電量を加味して、蓄電池4の将来の蓄電量(以下、推定蓄電量という)を推定する装置である。現在時刻をt
0、蓄電池4の現在の蓄電量(蓄電容量)をB
r(t
0)とし、蓄電池4の時刻tの推定蓄電量をB
r(t)とした場合、
図3は、発電量・蓄電量推定装置6が推定する推定蓄電量B
r(t)の一例を示す図である。推定蓄電量B
r(t)は、蓄電容量に関する時系列データである。なお、B
rMAXは、蓄電池4に蓄えられる最大蓄電容量である。
【0027】
より詳しくは、発電装置3の発電の電力をv、将来の時刻tにおいて発電装置3の発電がvである確率をp(v,t)とすると、時刻tにおける発電能力の期待値E[V(t)]は、式(1)のように表せる。なお、Vmaxは、発電装置3の発電最大値である。その結果、蓄電池4の将来の時刻tにおける推定蓄電量Br(t)は、式(2)のように表せる。
【0028】
【0029】
発電量・蓄電量推定装置6は、上記のような演算を行って、現在から将来に亘って蓄電池4に蓄積される蓄電量Br(t)を推定する装置である。
【0030】
計算機制御装置7は、仮想通貨マイニング用計算機である計算機1iの制御装置である。計算機制御装置7は、各計算機1iの消費電力及び報酬に関する情報、並びに現在から将来に亘る推定蓄電量Br(t)に基づいて、現在稼働している計算機1iを停止させる制御処理、及び現在停止している計算機1iを起動させる制御処理を実行するように構成されている。
【0031】
図4は、計算機制御装置7の機能概略図である。計算機制御装置7は、情報取得部11と、停止判定部12と、計算機停止部13と、起動判定部14と、計算機起動部15と、を備える。
【0032】
情報取得部11は、各計算機1の消費電力及び報酬に関する情報を取得し、発電量・蓄電量推定装置6から現在から将来に亘る推定蓄電量Bγ(t)を取得する。ここで、各計算機1の消費電力及び報酬に関する情報は、予め計算機制御装置7にパラメータとして入力されようになっている。なお、情報取得部11は、本発明の電力報酬データ取得部及び蓄電容量データ取得部に相当する。
【0033】
停止判定部12は、情報取得部11が取得した各計算機1iの消費電力に関する情報及び推定蓄電量Bγ(t)に基づいて、稼働している複数の計算機1iの全てに対して将来十分な電力を供給できない場合があるか否かを判定する。
【0034】
計算機停止部13は、停止判定部12が将来の一時点において全計算機1iに対して十分な電力を供給できないと判定した場合、稼働している複数の計算機1iのうちの一部の計算機1を停止させる計算機停止処理を実行する。これにより、残された電力を残りの計算機1iのマイニングに費やすことができるので、限られた電力を無駄にすることなく、稼働中の計算機1iのマイニングを完了させることができ、報酬を得ることができる。
【0035】
本実施の形態の計算機停止処理は、最適な停止処理である第一の停止処理と、準最適な停止処理である第二の停止処理と、を備えており、計算機停止部13は、状況(例えば、計算機1iの数、報酬の最大化に対する要求度など)に合わせていずれか一方の停止処理を実行する。第一の停止処理は、計算機1iの報酬の最大化を図ることができるが、計算機1iの数が増えるに従って停止させる計算機1iを算出する計算量が増大するので処理時間を要するという特徴がある。一方、第二の停止処理は、計算機1iの報酬の最大化を図れない場合も存在するが、計算機1iの数が増えても停止させる計算機1iを算出する計算量を削減することができるという特徴がある。
【0036】
したがって、計算機停止部13は、機能的には、第一の停止処理を実行する第一の停止処理実行部16と、第二の停止処理を実行する第二の停止処理実行部16と、を具備する構成となっている。なお、本発明の停止制御装置は、計算機制御装置7の情報取得部11と、停止判定部12と、計算機停止部13と、を備えた装置に相当する。
【0037】
起動判定部14は、情報取得部11が取得した各計算機1iの消費電力に関する情報及び推定蓄電量Br(t)に基づいて、停止している複数の計算機1iのうち一部の計算機1に将来電力を供給できる場合があるか否かを判定する。
【0038】
計算機起動部15は、起動判定部14が将来の一時点において一部の計算機1iに対して電力を供給できると判定した場合、停止している複数の計算機1iのうちの一部の計算機1iを起動させる計算機起動処理を実行する。これにより、計算機1iの一部を稼働可能な蓄電量を確保することが予想される場合、起動可能な計算機1iからマイニングを開始することができるので、早期に報酬を確保することができる。
【0039】
本実施の形態の計算機起動処理は、最適な起動処理である第一の起動処理と、準最適な起動処理である第二の起動処理と、を備えており、計算機起動部15は、状況(例えば、計算機1iの数、報酬の最大化に対する要求度など)に合わせていずれか一方の起動処理を実行する。第一の起動処理は、計算機1iの報酬の最大化を図ることができるが、計算機1iの数が増えるに従って起動させる計算機1iを算出する計算量が増大するので処理時間を要するという特徴がある。一方、第二の起動処理は、計算機1iの報酬の最大化を図れない場合も存在するが、計算機1iの数が増えても起動させる計算機1iを算出する計算量を削減することができるという特徴がある。
【0040】
したがって、計算機起動部15は、機能的には、第一の起動処理を実行する第一の起動処理実行部18と、第二の起動処理を実行する第二の起動処理実行部19と、を具備する構成となっている。なお、本発明の起動制御装置は、計算機制御装置7の情報取得部11と、起動判定部14と、計算機起動部15と、を備えた装置に相当する。
【0041】
本実施の形態の計算機起動処理は、第一の起動処理及び第二の起動処理のいずれであっても、いずれかの計算機1iが起動できる蓄電量に達した時点(以下、最少蓄電量到達時点という)において即時起動させるのではなく、最少蓄電量到達時点から所定の待機時間が経過した後の蓄電量まで考慮して起動させる計算機1iを導出する仕組みを備えている。すなわち、本実施の形態の計算機起動処理では、起動させる好適な計算機1iを導出するだけでなく、好適な起動タイミングも導出する。
【0042】
<第一の停止処理の概要>
図5は、本発明の実施の形態に係る第一の停止処理の概要を説明する図である。第一の停止処理は、将来電力不足が予測される場合、稼働させる計算機1
iの最適な組み合わせを導出し、最適な組み合わせ以外の計算機1
iを停止させる処理である。ここで、最適な組み合わせとは、報酬が最大となる計算機1
iの組み合わせである。なお、本実施の形態において「組み合わせ」という表記を用いる場合、組み合わせには、複数の計算機1
iだけでなく、1(単数)の計算機1
iも含まれる。
【0043】
図5(a)は、3台の計算機1
A、1
B及び1
Cの消費電力と報酬の関係を示す図であり、3台の計算機1
A、1
B及び1
Cの1ブロックのマイニングによる報酬をそれぞれ3、6、4とし、3台の計算機1
A、1
B及び1
Cの1ブロックのマイニングに必要な電力量をそれぞれ3、4、3とした場合を示している。なお、
図5(a)に示す横軸は時間を示しているが、計算機1
i(i=A、B、C)の処理時間と消費電力は比例関係にあるため、横軸に電力量を記している。また、
図5(b)は、
図5(a)に示した3台の計算機1
A、1
B及び1
Cを用いて第1の停止処理を実行した場合の蓄電量と停止させる計算機1
iを対応付けた表である。
【0044】
簡単のために発電装置3に発電がなかったと仮定すると、例えば、現在時刻t
0における蓄電量が3の場合、上記3台の計算機1
iを稼働させている場合、時刻t
1で蓄電量はゼロとなることが予想される。したがって、稼働中の計算機1
iに十分な電力を供給できなくなる時刻t
*=t
1となり、推定蓄電量B
r(t
*)=3となる。ところで、蓄電量3で報酬が得られる計算機1
iは、
図5(a)によれば、計算機1
A又は計算機1
Cである。ここで、計算機1
Aと計算機1
Cの獲得できる報酬を比較すると、計算機1
Aの報酬は3、計算機1
Cの報酬は4であることから、報酬の大きい計算機1
Cのみを稼働し、その他の計算機1
A及び計算機1
Bを停止させるようにする。
【0045】
したがって、将来の時刻t*において蓄電量が3と予想される場合、つまり推定蓄電量Br(t*)=3の場合には、計算機1A及び1Bの2台を停止させ、計算機1Cを稼働させる。
【0046】
また、例えば、現在時刻t0における蓄電量が6の場合、稼働中の計算機1iに十分な電力を供給できなくなる時刻t*=t2、推定蓄電量Br(t*)=6である。ところで、蓄電量6で報酬が得られる計算機1iは、(1)計算機1A、(2)計算機1B、(3)計算機1C、(2)計算機1A及び計算機1Cの組み合わせである。それぞれの場合の獲得できる報酬を比較すると、計算機1A及び計算機1Cの組み合わせの場合の報酬が7で最大であることから、計算機1Aと計算機1Cを稼働させ、計算機1Bを停止させるようにする。
【0047】
したがって、将来の時刻t*において蓄電量が6と予想される場合、つまり推定蓄電量Br(t*)=6の場合には、計算機1Bの1台を停止させ、計算機1Aと計算機1Cを稼働させる。
【0048】
このように第一の停止処理は、推定蓄電量Br(t*)の範囲内で報酬が最大となる計算機1iの組み合わせを導出し、導出された計算機1iの組み合わせに対して稼働させる一方、それ以外の計算機1iに対しては停止させる処理である。
【0049】
<一般化した第一の停止処理>
次に、
図6を用いて、一般化した第一の停止処理について説明する。
図6は、
図5で説明した具体例を一般化した第一の停止処理の流れを示すフローチャートである。なお、
図6に示した第一の停止処理は、詳しくは、計算機制御装置7の情報取得部11、停止判定部12及び第一の停止処理実行部16により実行される。
【0050】
図6において、稼働中の計算機1
iの集合をN、現在時刻をt
0、時刻t(≧時刻t
0)の蓄電池4の推定蓄電量をB
r(t)、計算機1
iの消費電力をP
i、計算機1
iが時刻tまでに獲得できる報酬をR
i(t)、稼働中の計算機1
iに十分な電力を供給できなくなる時刻t
*とする。
【0051】
まず、計算機制御装置7は、発電量・蓄電量推定装置6から蓄電量に関する情報を取得する(ステップS1)。ここで、蓄電量に関する情報とは、推定蓄電量Br(t)のことである。
【0052】
次に、計算機制御装置7は、将来において稼働中の計算機1iに必要な電力を供給できるか否かを判定する(ステップS2)。ΣPi(t*-t0)は、全計算機1iの時刻t0から時刻t*までの消費電力量であり、推定蓄電量Br(t*)は、時刻t*の推定蓄電量を意味する。将来において稼働中の計算機1iに必要な電力を供給できる場合には(ステップS2:NO)、第一の停止処理を終了し、将来において稼働中の計算機1iに必要な電力を供給できない場合には(ステップS2:YES)、ステップ3以降を実行する。
【0053】
将来において稼働中の計算機1iに必要な電力を供給できない場合、つまり、ステップS2において時刻t*が予想される場合には、計算機制御装置7は、停止させる計算機1iの選択を行う(ステップS3)。詳しくは、推定蓄電量Br(t*)を超えない範囲で報酬の合計ΣRi(t)を最大にする計算機1iの組み合わせを探索し、その集合をWとする。
【0054】
次に、計算機制御装置7は、ステップS3で選択された計算機1i以外の計算機1iを停止させる計算機1iとして決定する(ステップS4)。すなわち、集合Wに選択されなかった計算機1iの集合S=N-Wを求める。
【0055】
最後に、計算機制御装置7は、集合Sの要素となっている計算機1iを停止させる(ステップS5)。
【0056】
以上、本実施の形態の第一の停止処理によれば、将来において稼働中の計算機1iに必要な電力を供給できないと判断された場合、推定蓄電量Br(t*)を超えない範囲で報酬の合計を最大にする計算機1iだけを稼働させ、それ以外の計算機1iを停止させるので、限られた蓄電量で最大の利益を得ることができる。
【0057】
<第二の停止処理>
図7は、本発明の実施の形態に係る第二の停止処理の概要を説明する図である。第二の停止処理は、計算機1
iごとに基本利益率c(i)という指標を定義し、将来電力不足が予測される場合、複数の計算機1
iのうち、基本利益率c(i)の高い計算機1
iの組み合わせを優先的に稼働させ、優先的に稼働させる計算機1
iの組み合わせ以外の計算機1を停止させる処理である。ここで、基本利益率c(i)は、計算機1
iが1ブロックで得られる報酬R
iを、計算機1
iの1ブロックに必要な電力量u
iで除した値である。
【0058】
図7(a)は、3台の計算機1
A、1
B及び1
Cの消費電力と報酬の関係を示す図であり、3台の計算機1
A、1
B及び1
Cの1ブロックのマイニングによる報酬をそれぞれ3、6、4とし、3台の計算機1
A、1
B及び1
Cの1ブロックのマイニングに必要な電力量をそれぞれ3、4、3とした場合を示している。なお、
図7(a)に示す横軸は時間を示しているが、計算機1
i(i=A、B、C)の処理時間と消費電力は比例関係にあるため、横軸に電力量を記している。この場合には、計算機1
Aの基本利益率c(A)は1(=3/3)、計算機Bの基本利益率c(B)は1.5(=6/4)、計算機Cの基本利益率c(C)は1.33(=4/3)となる。また、
図7(b)は、
図7(a)に示した3台の計算機1
A、1
B及び1
Cを用いて第二の停止処理を実行した場合の蓄電量と停止させる計算機1
iを対応付けた表である。
【0059】
簡単のために発電装置3に発電がなかったと仮定すると、例えば、現在時刻t
0における蓄電量が3の場合、上記3台の計算機1
iを稼働させている場合、時刻t
1で蓄電量はゼロとなることが予想される。したがって、稼働中の計算機1
iに十分な電力を供給できなくなる時刻t
*=t
1となり、推定蓄電量B
r(t
*)=3となる。ところで、蓄電量3で報酬が得られる計算機1
iは、
図7(a)によれば、計算機1
A又は計算機1
Cである。ここで、計算機1
Aと計算機1
Cの基本利益率c
iを比較すると、c(A)=1、c(C)=1.33であることから、計算機1
Cを優先して稼働させ、計算機1
A及び計算機1
Bを停止させるようにする。
【0060】
したがって、将来の時刻t*において蓄電量が3と予想される場合、つまり推定蓄電量Br(t*)=3の場合には、計算機1A及び1Bの2台を停止させ、計算機1Cを稼働させる。
【0061】
また、例えば、現在時刻t0における蓄電量が6の場合、稼働中の計算機1iに十分な電力を供給できなくなる時刻t*=t2、推定蓄電量Br(t*)=6である。ところで、蓄電量6では、計算機1A、計算機1B及び計算機1Cのいずれも稼働可能でもあるが、基本利益率c(B)が最大であることから、計算機1Bを優先させて稼働させるようにする。すると残りの蓄電量は2となるが、蓄電量2では稼働可能な計算機1iは存在しないため、結果として、計算機1Bだけを稼働させ、計算機1Aと計算機1Cを停止させる。
【0062】
したがって、将来の時刻t
*において蓄電量が6と予想される場合、つまり推定蓄電量B
r(t
*)=6の場合には、計算機1
Aと計算機1
Cを停止させ、計算機1
Bを稼働させる。ちなみに推定蓄電量B
r(t
*)=6の場合の第二の停止処理の結果は、推定蓄電量B
r(t
*)=6の場合の第一の停止処理の結果と異なるものである(
図5(b)参照)。
【0063】
このように第二の停止処理は、推定蓄電量Br(t*)の範囲内で基本利益率c(i)に基づいて計算機1iの稼働優先度付けを行い、稼働優先度の高い順序で稼働する計算機1iの組み合わせを導出し、導出された計算機1iの組み合わせに対しては稼働させる一方、それ以外の計算機1iに対しては停止させる処理である。
【0064】
<一般化した第二の停止処理>
次に、
図8を用いて、一般化した第二の停止処理について説明する。
図8は、
図7で説明した具体例を一般化した第二の停止処理の流れを示すフローチャートである。なお、
図8に示した第二の停止処理は、詳しくは、計算機制御装置7の情報取得部11、停止判定部12及び第二の停止処理実行部16により実行される。
【0065】
図8において、稼働中の計算機1
iの集合をN、現在時刻をt
0、時刻t(≧時刻t
0)の蓄電池4の推定蓄電量をB
r(t)、計算機1
iの1ブロックの消費電力をu
i、計算機1
iの1ブロックの報酬をR
i、基本利益率c(i)=R
i/P
i、稼働中の計算機1
iに十分な電力を供給できなくなる時刻t
*とする。
【0066】
まず、計算機制御装置7は、発電量・蓄電量推定装置6から蓄電量に関する情報を取得する(ステップS11)。ここで、蓄電量に関する情報とは、推定蓄電量Br(t)のことである。
【0067】
次に、計算機制御装置7は、将来において稼働中の計算機1iに必要な電力を供給できるか否かを判定する(ステップS12)。ΣPi(t*-t0)は、全計算機1iの時刻t0から時刻t*までの消費電力量であり、推定蓄電量Br(t*)は、時刻t*の推定蓄電量を意味する。将来において稼働中の計算機1iに必要な電力を供給できる場合には(ステップS12:NO)、第二の停止処理を終了し、将来において稼働中の計算機1iに必要な電力を供給できない場合には(ステップS12:YES)の場合には、ステップ13以降を実行する。
【0068】
将来において稼働中の計算機1iに必要な電力を供給できない場合、つまり、ステップS12において時刻t*が予想される場合には、計算機制御装置7は、消費電力uiが時刻t*における推定蓄電量Br(t*)を超えない計算機1iを選択し、選択された計算機1iの集合をWCとする(ステップS13)。
【0069】
次に、計算機制御装置7は、処理Aを実行する(ステップS14~S17)。処理Aでは、集合をWCの中から推定蓄電量Br(t*)を超えない範囲で基本利益率c(i)が大きい順に継続して稼働させる計算機1iを選択し、選択した計算機1iの集合をWとする。
【0070】
次に、計算機制御装置7は、処理Aで選択された計算機1i以外の計算機1iを停止させる計算機1iとして決定する(ステップS18)。すなわち、集合Wに選択されなかった計算機1iの集合S=N-Wを求める。
【0071】
最後に、計算機制御装置7は、集合Sの要素となっている計算機1iを停止させる(ステップS19)。
【0072】
以上、本実施の形態の第二の停止処理によれば、将来において稼働中の計算機1iに必要な電力を供給できないと判断された場合、各計算機1iの基本利益率c(i)を算出し、推定蓄電量Br(t*)を超えない範囲で基本利益率c(i)が大きい順に継続して稼働させる計算機1iを決定し、それ以外の計算機1iを停止させるので、計算量を削減しつつ限られた蓄電量で極力最大の利益を得ることができる。すなわち、必ずしも最も高い利益が得られる計算機1iの組み合わせが得られる保証はないが、計算機1iの数が増えても計算量を抑えることが可能である。
【0073】
<第一の起動処理の概要>
図9は、本発明の実施の形態に係る第一の起動処理の概要を説明する図である。第一の起動処理は、発電が再開され、停止している複数の計算機1
iのうち、一部の計算機1
iが起動可能な蓄電量に達すると予想される場合、一部の計算機1
iが起動可能な時点(最少蓄電量到達時点)において即時起動させるのではなく、最少蓄電量到達時点から所定の複数の待機時間が経過した後の時刻tの推定蓄電量B
r(t)のそれぞれに対して報酬が最大となる計算機1
iの組み合わせを導出し、導出された計算機1
iの組み合わせの獲得利益率F(t)を計算し、最も獲得利益率が高い計算機1
iの組み合わせが導出された時点(以下、最大獲得利益率算出時点)において、最も獲得利益率が高い計算機1
iの組み合わせを起動させる処理である。ここで、所定の時点tにおける獲得利益率F(t)とは、1ブロックに必要な報酬Rを、所定の時点tにおける蓄電量B
r(t)で除した値である。つまり、獲得利益率F(t)とは、将来の一時点において獲得可能な報酬の、当該将来の一時点の蓄電量に対する割合である。
【0074】
図9(a)は、3台の計算機1
A、1
B及び1
Cの消費電力と報酬の関係を示す図であり、3台の計算機1
A、1
B及び1
Cの1ブロックのマイニングによる報酬をそれぞれ3、6、4とし、3台の計算機1
A、1
B及び1
Cの1ブロックのマイニングに必要な電力量をそれぞれ3、4、3とした場合を示している。なお、
図9(a)に示す横軸は時間を示しているが、計算機1
i(i=A、B、C)の処理時間と消費電力は比例関係にあるため、横軸に電力量を記している。また、
図9(b)は、
図9(a)に示した3台の計算機1
A、1
B及び1
Cを用いて第一の起動処理を実行した場合の蓄電量と起動させる計算機1
iを対応付けた表である。
【0075】
例えば、時刻t1における蓄電量が3に達することが予想される場合、停止中の一部の計算機1iが起動可能な時刻t*=t1となり、推定蓄電量Br(t*)=3となる。ところで、蓄電量3で報酬が得られる計算機1iは、計算機1A又は計算機1Cである。ここで、計算機1Aは、時刻t1の蓄電量3で報酬3を得ることができ、計算機1Cは、時刻t1の蓄電量3で報酬4を得ることができるから、計算機1Cの方が報酬は大きい。したがって、時刻t1の蓄電量3において計算機1iを起動させる場合には、計算機1Cを起動させるようにする。そして、この場合の獲得利益率F(t1)は1.33(=4/3)となる。
【0076】
また、例えば、時刻t2において蓄電量が4に達することが予想される場合、停止中の一部の計算機1iが起動可能な時刻t*=t2となり、推定蓄電量Br(t*)=4となる。ところで、蓄電量4で報酬が得られる計算機1iは、計算機1A、計算機1B又は計算機1Cである。ここで、計算機1Aは、時刻t2の蓄電量4で報酬3を得ることができ、計算機1Bは、時刻t2の蓄電量4で報酬6を得ることができ、計算機1Cは、時刻t2の蓄電量4で報酬4を得ることができるから、計算機1Bの報酬が最大である。したがって、時刻t2の蓄電量4においに計算機1iを起動させる場合は、計算機1Bを起動させるようにする。そして、この場合の獲得利益率F(t2)は1.5(=6/4)となる。
【0077】
同様にして時刻t3において蓄電量が5に達することが予想される場合の報酬が最大となる計算機1iの組み合わせの獲得利益率F(t3)、時刻t4において蓄電量が6に達することが予想される場合の報酬が最大となる計算機1iの組み合わせの獲得利益率F(t4)というように、順次将来の時刻tにおける報酬が最大となる計算機1iの組み合わせ、及び当該計算機1iの組み合わせによる獲得利益率F(t)をそれぞれ計算する。
【0078】
この結果、
図9(b)に示すような結果を得ることができる。
図9(b)によれば、蓄電量が4の場合の獲得利益率Fの値1.5が最大値となるため、蓄電量が4に達する時刻t
2まで待機させて計算機1Bを起動させる。
【0079】
このように第一の起動処理は、将来、一部の計算機1iが起動できる推定蓄電量Br(t*)に到達すると予想される場合、最少蓄電量到達時点である到達時点t*から所定の待機時間が経過した時点までの複数の時点tそれぞれにおいて、報酬が最大となる計算機1iの組み合わせを導出するとともに当該計算機1iの組合せの獲得利益率F(t)を算出する処理である。また、第一の起動処理は、算出された複数の時点tそれぞれの獲得利益率F(t)のうち獲得利益率F(t)が最大となった時点tにおいて導出された計算機1iの組み合わせを起動させる処理である。
【0080】
<一般化した第一の起動処理>
次に、
図10を用いて、一般化した第一の起動処理について説明する。
図10は、
図9で説明した具体例を一般化した第一の起動処理の流れを示すフローチャートである。なお、
図10に示した第一の起動処理は、詳しくは、計算機制御装置7の情報取得部11、起動判定部14及び第一の起動処理実行部18により実行される。
【0081】
図10において、停止中の計算機1
iの集合をN1、現在時刻をt
1、時刻t(≧時刻t
1)の蓄電池4の推定蓄電量をB
r(t)、計算機1
iの消費電力をP
i、計算機1
iが時刻tまでに獲得できる報酬をR
i(t)、いずれかの計算機1
iが稼働可能な時刻をt
*とする。また、発電装置3の時刻t
1から発電量が有意に推定可能な時刻Tまでをn個に分割した時刻t
1、時刻t
2、…、時刻t
nの集合をT、計算機1
iが時刻tまでに獲得する報酬の合計をΣR
i(t)、獲得利益率F(t)=ΣR
i(t)/B
r(t)とする。
【0082】
まず、計算機制御装置7は、発電量・蓄電量推定装置6から蓄電量に関する情報を取得する(ステップS21)。ここで、蓄電量に関する情報とは、推定蓄電量Br(t)のことである。
【0083】
次に、計算機制御装置7は、将来において停止中の計算機1iの一部の起動に必要な電力を供給できるか否かを判定する(ステップS22)。将来において停止中の計算機1iの一部の起動に必要な電力を供給できる場合には(ステップS22:YES)、ステップ23以降を実行し、将来において停止中の計算機1iの一部の起動に必要な電力を供給できない場合には(ステップS22:NO)、第一の起動処理を終了する。
【0084】
将来において停止中の計算機1iの一部の起動に必要な電力を供給できる場合、つまり、ステップS22において計算機1iと時刻t*が予想される場合には、計算機制御装置7は、起動させる計算機1iの選択を行う(ステップS23~S27)。詳しくは、計算機1iを起動させることが可能となる時刻t*から発電量が有意に推定可能な時刻Tまでをn個に分割した集合T={t1…tn}を規定し(ステップS23)、集合Tの要素である時刻tk(k=1…n)それぞれにおいて、推定蓄電量Br(t*)を超えない範囲で計算機1iの報酬の合計ΣRi(tk)が最大となる計算機1iの組み合わせを探索し、その集合をW(tk)とする(ステップS24、S25)。
【0085】
次に、計算機制御装置7は、時刻tk(k=1…n)のそれぞれにおいて獲得利益率F(tk)を算出し、獲得利益率F(tk)が最大となるW(tk)を選択する(ステップS27)。
【0086】
最後に、計算機制御装置7は、ステップS27で選択されたW(tk)の時刻tkまで待機した後に、ステップS27で選択されたW(tk)に含まれる計算機1iを起動させる(ステップS28)。
【0087】
以上、本実施の形態の第一の起動処理によれば、将来において停止中の計算機1iの一部の起動に必要な電力を供給できる場合、計算機1iを起動させることが可能となる時刻t*から発電量が有意に推定可能な時刻Tまでをn個に分割した時刻tのそれぞれにおいて、推定蓄電量Br(t*)を超えない範囲で計算機1iの報酬の合計が最大となる計算機1iの組み合わせを探索して獲得利益率F(t)を算出し、獲得利益率F(t)が最大となる時刻tにおいて、当該時刻tの報酬の合計が最大となる計算機1iの組み合わせを起動させるので、待機時間に対して最大の利益を得ることができる。
【0088】
<第二の起動処理の概要>
図11は、本発明の実施の形態に係る第二の起動処理の概要を説明する図である。第二の起動処理では、第二の停止処理と同様に、計算機1
iごとに基本利益率c(i)という指標を定義する。第二の起動処理は、発電が再開され、停止している複数の計算機1
iのうち、一部の計算機1
iが起動可能な蓄電量に達すると予想される場合、一部の計算機1
iが起動可能な時点(最少蓄電量到達時点)において即時起動させるのではなく、最少蓄電量到達時点から所定の複数の待機時間が経過した後の時刻tの推定蓄電量B
r(t)の予想蓄電量のそれぞれに対して基本利益率c(i)の高い計算機1の組み合わせを導出し、導出された計算機1
iの組み合わせの獲得利益率F(t)を計算し、最も獲得利益率F(t)が高い計算機1
iの組み合わせが導出された時点において、最も獲得利益率F(t)が高い計算機1
iの組み合わせを起動させる処理である。
【0089】
図11(a)は、3台の計算機1
A、1
B及び1
Cの消費電力と報酬の関係を示す図であり、3台の計算機1
A、1
B及び1
Cの1ブロックのマイニングによる報酬をそれぞれ3、6、4とし、3台の計算機1
A、1
B及び1
Cの1ブロックのマイニングに必要な電力量をそれぞれ3、4、3とした場合を示している。なお、
図11(a)に示す横軸は時間を示しているが、計算機1
i(i=A、B、C)の処理時間と消費電力は比例関係にあるため、横軸に電力量を記している。また、
図11(b)は、
図11(a)に示した3台の計算機1
A、1
B及び1
Cを用いて第二の起動処理を実行した場合の蓄電量と起動させる計算機1
iを対応付けた表である。
【0090】
例えば、時刻t1における蓄電量が3に達することが予想される場合、停止中の一部の計算機1iが起動可能な時刻t*=t1となり、推定蓄電量Br(t*)=3となる。ところで、蓄電量3で報酬が得られる計算機1iは、計算機1A又は計算機1Cである。計算機1Aと計算機1Cの基本利益率c(i)を比較すると、c(A)=1、c(C)=1.33であることから、計算機1Cを優先させる。したがって、時刻t1の蓄電量3において計算機1iを起動させる場合には、計算機1Cを起動させるようにする。そして、この場合の獲得利益率F(t1)は1.33(=4/3)となる。
【0091】
また、例えば、時刻t4における蓄電量が6に達することが予想される場合、停止中の一部の計算機1iが起動可能な時刻t*=t4となり、推定蓄電量Br(t*)=6となる。ところで、蓄電量6では、計算機1A、計算機1B及び計算機1Cのいずれも稼働可能でもあるが、基本利益率c(B)が最大であることから、計算機1Bを優先させる。すると残りの蓄電量は2となり、稼働可能な計算機1iは存在しないので、結果として、時刻t4の蓄電量6において計算機1iを起動させる場合には、計算機1Bだけを稼働させる。そして、この場合の獲得利益率F(t4)は1(=6/6)となる。
【0092】
同様にして時刻t3において蓄電量が5に達することが予想される場合の報酬が最大となる計算機1iの組み合わせの獲得利益率F(t3)、時刻t4において蓄電量が6に達することが予想される場合の報酬が最大となる計算機1iの組み合わせの獲得利益率F(t4)というように、順次将来の時刻tにおける基本利益率c(i)が最大となる計算機1iの組み合わせ、及び当該計算機1iの組み合わせによる獲得利益率F(t)をそれぞれ計算する。
【0093】
この結果、
図11(b)に示すような結果を得ることができる。
図11(b)によれば、蓄電量が4の場合の獲得利益率Fが最大値となるため、蓄電量が4に達する時刻t
2まで待機させて計算機1Bを起動させる。
【0094】
このように第二の起動処理は、将来、一部の計算機1iが起動できる推定蓄電量Br(t*)に到達すると予想される場合、最少蓄電量到達時点である到達時点t*から所定の待機時間が経過した時点までの複数の時点tそれぞれにおいて、基本利益率c(i)を優先して計算機1iの組み合わせを導出するとともに当該計算機1iの組合せの獲得利益率F(t)を算出する処理である。また、第二の起動処理は、算出された複数の時点tそれぞれの獲得利益率F(t)のうち獲得利益率F(t)が最大値なった時点tにおいて導出された計算機1iの組み合わせを起動させる処理である。
【0095】
<一般化した第二の起動処理>
次に、
図12を用いて、一般化した第二の起動処理について説明する。
図12は、
図11で説明した具体例を一般化した第二の起動処理の流れを示すフローチャートである。なお、
図12に示した第二の起動処理は、詳しくは、計算機制御装置7の情報取得部11、起動判定部14及び第二の起動処理実行部19により実行される。
【0096】
図12において、停止中の計算機1
iの集合をN1、現在時刻をt
1、時刻t(≧時刻t
1)の蓄電池4の推定蓄電量をBr(t)、計算機1
iの消費電力をP
i、計算機1
iが時刻tまでに獲得できる報酬をR
i(t)、いずれかの計算機1
iが稼働可能な時刻をt
*とする。また、発電装置3の時刻t1から発電量が有意に推定可能な時刻Tまでをn個に分割した時刻t
1、時刻t
2、…、時刻t
nの集合をT、計算機1
iが時刻tまでに獲得する報酬の合計をΣR
i(t)、獲得利益率F(t)=ΣR
i(t)/Br(t)とする。
【0097】
まず、計算機制御装置7は、発電量・蓄電量推定装置6から蓄電量に関する情報を取得する(ステップS31)。ここで、蓄電量に関する情報とは、推定蓄電量Br(t)のことである。
【0098】
次に、計算機制御装置7は、将来において停止中の計算機1iの一部の起動に必要な電力を供給できるか否かを判定する(ステップS32)。将来において停止中の計算機1iの一部の起動に必要な電力を供給できる場合には(ステップS32:YES)、ステップ33以降を実行し、将来において停止中の計算機1iの一部の起動に必要な電力を供給できない場合には(ステップS32:NO)、第二の起動処理を終了する。
【0099】
将来において停止中の計算機1
iの一部の起動に必要な電力を供給できる場合、つまり、ステップS32において計算機1
iと時刻t
*が予想される場合には、計算機制御装置7は、起動させる計算機1
iの選択を行う(ステップS33~S39)。詳しくは、計算機1
iを起動させることが可能となる時刻t
*から発電量が有意に推定可能な時刻Tまでをn個に分割した集合T={t
1…t
n}を規定し(ステップS33)、集合Tの要素である時刻t
k(k=1…n)それぞれにおいて、処理A(
図8参照)を実行し、推定蓄電量B
r(t
*)を超えない範囲で基本利益率c(i)が大きい順に継続して稼働させる計算機1
iを選択し、選択した計算機1
iの集合をW(t
k)とする(ステップS34~S38)。
【0100】
次に、計算機制御装置7は、時刻tk(k=1…n)のそれぞれにおいて獲得利益率F(tk)を算出し、獲得利益率F(tk)が最大となるW(tk)を選択する(ステップS39)。
【0101】
最後に、計算機制御装置7は、ステップS39で選択されたW(tk)の時刻tkまで待機した後に、ステップS39で選択されたW(tk)に含まれる計算機1iを起動させる(ステップS40)。
【0102】
以上、本実施の形態の第二の起動処理によれば、将来において停止中の計算機1iの一部の起動に必要な電力を供給できる場合、計算機1iを起動させることが可能となる時刻t*から発電量が有意に推定可能な時刻Tまでをn個に分割した時刻tのそれぞれにおいて、推定蓄電量Br(t*)を超えない範囲で計算機1iの獲得利益率c(i)の合計が最大となる計算機1iの組み合わせを探索して獲得利益率F(t)を算出し、獲得利益率F(t)が最大となる時刻tにおいて、当該時刻tの報酬の合計が最大となる計算機1iの組み合わせを起動させるので、待機時間に対して極力最大の利益を得ることができる。すなわち、待機時間に対して必ずしも最も高い利益が得られる計算機1iの組み合わせが得られる保証はないが、計算機1iの数が増えても計算量を抑えることが可能である。
【0103】
以上、本実施の形態の仮想通貨マイニングシステム10によれば、将来において稼働中複数の計算機1に対して必要な電力を供給できないと判断した場合、計算機1の電力量と報酬の観点から好適な計算機1だけを起動させ、残りの計算機1を停止させるとともに、将来において停止中の複数の計算機1の一部の起動に必要な電力を供給できると判断した場合、計算機1の電力量と報酬の観点から好適な待機時間の経過後に好適な計算機1を起動させるので、再生可能エネルギーを電源としても、仮想通貨のマイニング機会を最大化することができ、より多くの報酬を得ることができる。
【0104】
なお、本実施の形態の仮想通貨マイニングシステム10において、計算機停止処理と計算機起動処理の組み合わせに関しては、任意の組み合わせが可能である。例えば、第一の停止処理と第一の起動処理を組み合わせてもよいし、第一の停止処理と第二の起動処理を組み合わせてもよい。また、第二の停止処理と第二の起動処理を組み合わせてもよいし、第二の停止処理と第一の起動処理を組み合わせてもよい。対象となる計算機1iの数、処理時間、報酬の要求度などを勘案して最適な組み合わせを選択すればよい。
【0105】
また、本実施の形態の仮想通貨マイニングシステム10の計算機制御装置7は、物理的に一つからなる装置の他、複数の装置で構成されてもよい。例えば、計算機1iの停止制御を行う停止制御装置と、計算機1iの起動制御を行う起動制御装置と、を備えるようにしてもよい。
【0106】
なお、本実施の形態に係る計算機制御装置7の各機能を実現するプログラムは、計算機制御装置7のメモリなどの主記憶装置やハードディスクなどの補助記憶装置に格納されているものである。そして、このプログラムは、ハードディスク、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)、BD(Blu-ray(登録商標) Disc)などのコンピュータが読み取り可能な記録媒体に記録することも、通信ネットワークを介して配信することも可能である。
【0107】
以上、本発明の実施の形態について説明してきたが、本発明は、上述した実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲において、本発明の実施の形態に対して種々の変形や変更を施すことができ、そのような変形や変更を伴うものもまた、本発明の技術的範囲に含まれるものである。また、発明の実施の形態に記載された、作用及び効果は、本発明から生じる最も好適な作用及び効果を列挙したに過ぎず、本発明による作用及び効果は、本発明の実施の形態に記載されたものに限定されるものではない。
【符号の説明】
【0108】
1 計算機
2 ブロックチェーン・ネットワーク
3 発電装置
4 蓄電池
5 発電量推定情報提供装置
6 発電量・蓄電量推定装置
7 計算機制御装置
10 仮想通貨マイニングシステム
11 情報取得部
12 停止判定部
13 計算機停止部
14 起動判定部
15 計算機起動部
16 第一の停止処理実行部
17 第二の停止処理実行部
18 第一の起動処理実行部
19 第二の起動処理実行部